从数据库中获取文件转成的byte[] 文件名 文件类型。我要怎么拨给浏览器下载

图片说明

如图的话

图片说明

浏览器接收到了一堆东西 但是没有开启下载

3个回答

一个简单而且符合springmvc方式的做法:
https://my.oschina.net/datevan/blog/654593

   @RequestMapping("download")  
    public ResponseEntity<byte[]> download() throws IOException {  
        HttpHeaders headers = new HttpHeaders();  
       // headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);  
        //设置文件名
        headers.setContentDispositionFormData("attachment", "a.xls");  
        String file = TestController.class.getResource("/config/").getPath()+"a.xls";

        //把文件转成字节数组
        File byteFile = new File(file);
        int size = (int) byteFile.length();
        FileInputStream inputStream = new FileInputStream(byteFile);
        byte[] bytes = new byte[size];

        int offset=0;
        int readed;
        while(offset<size && (readed = inputStream.read(bytes, offset,inputStream.available() )) != -1){
            offset+=readed;
        }
        inputStream.close();

        //返回
        return new ResponseEntity<byte[]>(bytes,headers, HttpStatus.OK);  
    }
qq_38817306
qq_38817306 最终用ResponseEntity搞掂了 最重要的问题是。。。我页面一开始没用A标签提交
一年多之前 回复
qq_38817306
qq_38817306 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 我看到配置文件有这个东西。。是不是禁止下载了
一年多之前 回复

/**
* 文件下载
* @param response
* @param fileName 文件名称
* @param filePath 文件服务器地址
*/
@RequestMapping("/download")
public void downloadFile(HttpServletResponse response, @RequestParam("fileName")String fileName, @RequestParam("filePath") String filePath){
OutputStream os = null;
try{
os = response.getOutputStream();
fileName = URLEncoder.encode(fileName, "UTF-8");
byte[] bytes = FastdfsClientUtil.downloadFileInner(filePath);
os.write(bytes);
response.setContentType("application/octet-stream;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
os.flush();
}catch(Exception e){
LOGGER.error("下载文件失败", e);
}finally {
if(os != null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}//之前详细研究过浏览器下载文件的需求 包括不同浏览器的支持,文件下载,文件预览

qq_38817306
qq_38817306 去看了 也改了下 还是不行 感觉我mvc拦截了
一年多之前 回复
weixin_40899682
IT清流李小白 回复qq_38817306: https://blog.csdn.net/ios_xumin/article/details/52944366 看这个了解一下,然后debug你的代码查看文件类型
一年多之前 回复
qq_38817306
qq_38817306 回复weixin_40899682: 下载类型是指哪里?
一年多之前 回复
weixin_40899682
IT清流李小白 回复qq_38817306: 顺带提示一下 你的入参传入了两个HttpServletResponse
一年多之前 回复
weixin_40899682
IT清流李小白 回复qq_38817306: response.setContentType("application/octet-stream;charset=UTF-8"); 看一下设置的下载类型和文件类型是否一致,建议指定一下编码集
一年多之前 回复
qq_38817306
qq_38817306 回复weixin_40899682: fileName得包含后缀是吗?我 的fileName包含后缀的 然后传给浏览器 看network接收了22MB数据 但是没下载
一年多之前 回复
weixin_40899682
IT清流李小白 回复qq_38817306: 你可以读取出来然后创建OutputStream 对象调用write方法写入,记得请求头可以设置下载文件的格式,不然就会出现无法解析下载的问题或下载后乱码的问题
一年多之前 回复
qq_38817306
qq_38817306 但我这个文件没有服务器地址啊,它以BLOB的byte[]形式存放在数据库字段中
一年多之前 回复

顺带提示一下 你的入参传入了两个HttpServletResponse

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
byte类型怎么转成byte数组

有一个String ``` String e = "aa"; ``` aa为十六进制数,通过方法把它转成byte ``` public static byte hextobyte(String in) { return (byte) Integer.parseInt(in, 16); } ``` 转出后得到一个byte ``` byte f = hextobyte(e); ``` 问: 现在要进行byte拼接 原先有一个byte ``` byte[] a = new byte[] { 0x01, (byte) 0xFF, 0x0A, 0x00, (byte) 0xAA, 0x13,}; ``` 现在要把byte f 和byte[] a进行拼接 怎么讲byte f转成byte 数组!

java从数据库中读取二进制文件并....

java从postgresql数据库中读取bytea二进制并且生成文件(如word,pdf文件等)!在jsp页面上显示附件(如邮件形式那样的附件)并且可以下载!请问怎么实现啊?求解!谢谢了!

Android 将文件流写入byte数组之后,再转换成Base64字符串总是得到乱码的结果

公司项目需要将mp3文件或者zip文件转换成Base64字符串上传,但获取到的字符串总是有乱码存在,不知道是在哪个环节出的问题。希望大佬可以提供一些方法或者demo之类的帮下小弟。

怎样利用C#将byte数组文件转换成csv文本文件?

怎样利用C#将byte数组文件(byte文件中包含了图片、数据)转换成csv文本文件?

Servlet下载文件文件名问题

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FileDBO fileDBO = new FileDBO(); String fileID = request.getParameter("fileId"); FileInfor file = fileDBO.getSingleFile(Integer.parseInt(fileID)); InputStream in = new FileInputStream(new File(file.getFile_path())); System.out.println(file.getFile_name()); response.setContentType("application/x-msdownload"); response.setHeader("Content-Dispostion", "attachment;filename=" + file.getFile_name()); response.setHeader("Content-Dispostion", "attachment;filename=abd.jpg") OutputStream out = response.getOutputStream(); byte []buffer = new byte[1024]; int len = 0; while((len = in.read(buffer)) != -1){ out.write(buffer, 0, len); } in.close(); out.close(); } ``` ``` 在用servlet进行下载文件处理的时候不能正常设置下载的文件名,在浏览器上下载的文件的文件名是servlet的类名或者是url-patten,无论response.setHeader怎么设置都不起作用 ![图片说明](https://img-ask.csdn.net/upload/201605/26/1464239412_951621.png)

安卓开发如何把一个byte数组转换成amr音频文件并且播放

安卓开发如何把一个byte数组转换成amr音频文件并且播放 byte数组是从微信服务器获取的

JAVA String类型转byte类型 的问题

现在有一个String指令 ``` String a="01 03 03ed 0001"; ``` 我通过自己写的CRC转码方法将上述指令转码 ``` String a1=getCRC.getCRC(a); ``` 然后把两个字符串拼接起来 ``` String a2=a+" "+a1; ``` 然后获得各数值,其实就是去掉中间的空格,我就笼统的写一下。 ``` String h=a2.substring(0, 2); String h1=a2.substring(3, 5); String h2=a2.substring(6, 8); String h3=a2.substring(8, 10); String h4=a2.substring(11, 13); String h5=a2.substring(13, 15); String h6=a2.substring(16, 18); String h7=a2.substring(19, 21); ``` 然后将得到的字符串再拼接起来 ``` String h8=h+h1+h2+h3+h4+h5+h6+h7; ``` 得到的h8的数据为:010303ed0001147B 理想情况下需要呈现的buye数组为下面的方式 ``` byte b=new byte[]{ 0x01,0x03,0x03,(byte)0xed,0x00,0x01,0x14,(byte)0x7B }; ``` 现在尝试了很多种方法都无法变成上述样子,想来此求助一下,有没有大神指导一下。 补充代码中getCRC代码块 ``` public class getCRC { public static String getCRC(String data) { data = data.replace(" ", ""); int len = data.length(); if (!(len % 2 == 0)) { return "0000"; } int num = len / 2; byte[] para = new byte[num]; for (int i = 0; i < num; i++) { int value = Integer.valueOf(data.substring(i * 2, 2 * (i + 1)), 16); para[i] = (byte) value; } return getCRC(para); } /** * 计算CRC16校验码 * * @param bytes * 字节数组 * @return {@link String} 校验码 * @since 1.0 */ public static String getCRC(byte[] bytes) { // CRC寄存器全为1 int CRC = 0x0000ffff; // 多项式校验值 int POLYNOMIAL = 0x0000a001; int i, j; for (i = 0; i < bytes.length; i++) { CRC ^= ((int) bytes[i] & 0x000000ff); for (j = 0; j < 8; j++) { if ((CRC & 0x00000001) != 0) { CRC >>= 1; CRC ^= POLYNOMIAL; } else { CRC >>= 1; } } } // 结果转换为16进制 String result = Integer.toHexString(CRC).toUpperCase(); if (result.length() != 4) { StringBuffer sb = new StringBuffer("0000"); result = sb.replace(4 - result.length(), 4, result).toString(); } //高位在前地位在后 //return result.substring(2, 4) + " " + result.substring(0, 2); // 交换高低位,低位在前高位在后 return result.substring(2, 4) + " " + result.substring(0, 2); } } ```

byte[]写入和读取数据库DB2

C#中byte[]写入DB2数据库和读出,字段类型是blob。 ``` string filerd = File.ReadAllText("D:\\9672\\Source513\\client\\PM\\PMOS\\PMOSAC\\HTMLPage1.html"); byte[] filebyte = System.Text.Encoding.UTF8.GetBytes(filerd); sb.Append("insert into TPMOSAC20(QUERY_CONTENT)values('" + filebyte + "')"); FunctionDataaccess.ExecuteNonQuery(sb.ToString()); ``` 断点查看sb里面的filerd是system.byte[]。 求大神怎么改啊

byte数组转换成字符串乱码问题

由于是业务的原因,有一个byte数组如下图所示,因为数据库用的是mysql,该字段是varchar类型,想把这个byte转成string放入数据库,但是转成字符串的时候出现乱码 ![图片说明](https://img-ask.csdn.net/upload/202002/17/1581880375_705320.png) 上图所示是我的byte数组,转成String是一堆乱码, ![图片说明](https://img-ask.csdn.net/upload/202002/17/1581880540_680320.png) 我知道可能是数组里面有某些数字没有定义包括最后的more,所以,我这个数组该怎样完好的存进数据库又完好的取出来用呢? 望对数据类型底层掌握多的大佬教教我该如何解决这种问题??真的希望大佬看见给我提供思路 一般我都是在线等的!!!

用springmvc实现浏览器下载文件文件时,下载的文件名乱码

今天在做一个浏览器下载文件的功能,文件下载的功能是实现了,但下载的文件 名字出现了中文乱码 下面是代码 ``` @RequestMapping(value = "download") public ResponseEntity<byte[]> export(Long filePath) { HzAttachmentRecord hzAttachmentRecord = hzAttachmentRecordDao.selectByPrimaryKey(filePath); HttpHeaders headers = new HttpHeaders(); File file = new File(hzAttachmentRecord.getAttachmentUrl()+"\\"+hzAttachmentRecord.getRealName()); if(file==null){ return null; } try { headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", hzAttachmentRecord.getShowName()); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); }catch (Exception e){ return new ResponseEntity(null,headers,HttpStatus.NOT_FOUND); } } ``` 下面是问题截图 ![图片说明](https://img-ask.csdn.net/upload/201812/07/1544169029_180503.jpg) debug测试了下,attachment对应的值是正确的文件名,应该是传输到前端 时编码格式有点问题 大概情况就是这样,网上找了小半天也没找到解决方法,有没有大佬知道怎么 解决,万分感谢

Android 将音频文件转换为字节数组乱码问题

公司需要将音频文件比如mp3文件转换为Base64编码字符串上传,但我这边在测试通过读取Assets文件下的mp3文件,在将FileInputStream转换为byte数组之后,无论将byte数组转换为String还是将数组进行Base64编码,得到的结果都是乱码的结果,求大神支招啊,网上很多方法都是乱码的,不知道他们放上去的时候有没有经过测试。

从数据库获取图片地址如何赋给bitmap类型的值

如题。。。。。。。。求大神指点 下面是我自己编写的几句代码 //从数据库获取图片地址 (value是string类型) var sert = db.T_GrowData.Where(e => e.dateSubmit == dateSubmit && e.status == 1).AsEnumerable().FirstOrDefault().value; //将获取到的string类型数据转换成byte[] byte[] bt = System.Text.Encoding.Default.GetBytes(sert); //再将转换成的byte[]赋值给bitmap MemoryStream ms = new MemoryStream(bt); Bitmap bm = (Bitmap)Image.FromStream(ms);//运行时此处报错:参数错误 我的这种思路是否正确?在赋值的时候报错是什么原因呢?这种问题该如何解决? 哪位大神有解决办法的还望不要吝啬告诉本小白,,,先谢谢啦

servlet 下载文件时文件名中文乱码问题一直解决不了

jsp页面通过超链标签下载文件,文件名包含中文时,下载乱码,英文和数字可以正常下载,根据网上的方法试了很多次还是解决不了,困扰一天了,现在是凌晨1点这个问题搞得我睡不着,各位老哥帮小弟看看是 哪里错了![图片说明](https://img-ask.csdn.net/upload/201907/10/1562692200_241773.png)页面编码设置utf_8 ![图片说明](https://img-ask.csdn.net/upload/201907/10/1562692300_50200.png)下载链接 ``` protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); EbizCompany company = (EbizCompany) request.getSession().getAttribute("currentCompany"); //String file = new String(request.getParameter("file").getBytes("ISO-8859-1"),"UTF-8"); String fileName = request.getParameter("file"); //客户端传递的需要下载的文件名 fileName = new String(fileName.getBytes("ISO8859-1"),"UTF-8"); System.out.println("filename "+fileName); //获得请求头中的User-Agent String agent = request.getHeader("User-Agent"); //根据不同浏览器进行不同的编码 String fileNameEncoder = ""; if (agent.contains("MSIE")) { // IE浏览器 fileNameEncoder = URLEncoder.encode(fileName, "utf-8"); fileNameEncoder = fileNameEncoder.replace("+", " "); } else if (agent.contains("Firefox")) { // 火狐浏览器 BASE64Encoder base64Encoder = new BASE64Encoder(); fileNameEncoder = "=?utf-8?B?" + base64Encoder.encode(fileName.getBytes("utf-8")) + "?="; } else { // 其它浏览器 fileNameEncoder = URLEncoder.encode(fileName, "utf-8"); } //客户端通过文件的MIME区分下载的文件的类型 response.setContentType(this.getServletContext().getMimeType(fileName)); //告诉客户端不要直接解析该文件,而是以附件的形式打开(下载) 客户端默认对名字进行解码 response.setHeader("Content-Disposition", "attachment;filename=" + fileNameEncoder); String time=Integer.toString(GeneralMethod.getYear(System.currentTimeMillis()))+"\\"+Integer.toString(GeneralMethod.getMonth(System.currentTimeMillis())); String path = Constant.FilePath + "\\" + company.companyName+"\\"+time+"\\"+fileName; FileInputStream fis = new FileInputStream(path); response.setContentType("multipart/form-data"); ServletOutputStream out = response.getOutputStream(); byte[] bt = new byte[1024]; int length = 0; while((length=fis.read(bt))!=-1){ out.write(bt,0,length); } out.close(); } ``` ![图片说明](https://img-ask.csdn.net/upload/201907/10/1562692854_226734.png)

C++中CString转换为byte

假如我要把CString类型的23转换为十六进制的23保存在byte[0]中该怎么写

我用byte类型的变量 += 一个int类型的变量 最后的值是会自动强制转换成byte类型吗

public class t { public static void main(String[] args) { byte []c = new byte[10]; int d = 10; c[0] += 10;//不会报错 c[0] = c[0] + 10;//会报错 //是不是 +=这个符号自带强制转换类型? } }

java 将一个byte[]数组转成二进制文件丢失数据是为什么啊?

File sdpath = Environment.getExternalStorageDirectory(); String path = sdpath.getPath() + "/模型文件/"; File file = new File(path + strPath); OutputStream os; FileOutputStream fos; try { os = new FileOutputStream(file); BufferedInputStream is = new BufferedInputStream(new ByteArrayInputStream(bs)); int len; byte[] buf = new byte[1024 * 8]; while ((len = is.read(buf)) != -1) { os.write(buf, 0, len); os.flush(); } is.close(); os.close(); ``` ```

无法将类型“byte”隐式转换为“byte[]”

byte firstByte = Convert.ToByte(serialPort.ReadByte()); int bytesRead = serialPort.BytesToRead; byte[] bytesData = new byte[bytesRead + 1]; bytesData[0] = firstByte; for (int i = 1; i <= bytesRead; i++) # **bytesData = Convert.ToByte(serialPort.ReadByte());** txtReceive.Text = System.Text.Encoding.Default.GetString(bytesData); c#新手想问倒数第二句语句显示错误 请问怎样结解决。

python 中 怎么处理 byte 类型问题?

单位中有个加密算法,使用java 写的,我想用 python 实现同样的方法,但是 python中没有 byte 类型,请问应该怎么处理 ,python3要实现 以下代码 应该怎么写呢? java 代码如下: public static byte[] hexStringToBytes(String hexString) { if ((hexString == null) || (hexString.equals(""))) { return null; } hexString = hexString.toUpperCase(); int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < length; i++) { int pos = i * 2; d[i] = ((byte)(charToByte(hexChars[pos]) << 4 | charToByte(hexChars[(pos + 1)]))); } return d; } private static byte charToByte(char c) { return (byte)"xxxxxxxxxx".indexOf(c); } } ``` ```

java 读取各种类型文件的二进制并且写入到这些类型的文件,内容等等都不变。

问题:如题!!!!! 我现在是用java读取了txt、word、execl三种类型的文件。并且得到他们的二进制流(也就是byte数组)。 我要怎么通过这个byte数组写入到这些类型的文件中(注:内容不变、文件类型不变、总之所有的东西都不变,还是原来一模一样的东西)。 请问我应该怎么实现呢? 读取文件代码,并且得到byte[]. [code="java"]public byte[] readFile(String filename){ // System.out.println("read file " + filename); try{ if(filename==null || filename.equals("")) { System.out.println("filename is invalid.filename=" + filename); return new byte[0]; } File file =new File(filename); long len = file.length(); byte[] bytes = new byte[(int)len]; try{ BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(file)); int r = bufferedInputStream.read( bytes ); if (r != len) throw new IOException("读取文件不正确"); bufferedInputStream.close(); }catch(Exception ex){ ex.printStackTrace(); System.out.println("Read file Exception,filename=" + filename+"---"+ex); } return bytes; }catch(Exception ex){ System.out.println("Read file Exception,filename=" + filename+"---"+ex); } return new byte[0]; }[/code] 得到byte数组后,直接写入到指定类型的文件。 [code="java"]try { FileOutputStream fos3 = new FileOutputStream("D://tmp/mailTest/outTest.txt"); PrintWriter out3 = new PrintWriter(fos3); out3.print(new String(bytes)); out3.flush(); out3.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }[/code]

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

差点跪了...

最近微信又搞出了一个大利器,甚至都上了热搜,当然消息最敏捷的自媒体人,纷纷都开通了自己的视频号。01 视频号是什么呢?视频号是微信体系内的短视频,它不同...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

Vue回炉重造之router路由(更新中)

你好,我是Vam的金豆之路,可以叫我豆哥。2019年年度博客之星、技术领域博客专家。主要领域:前端开发。我的微信是 maomin9761,有什么疑问可以加我哦,自己创建了一个微信技术交流群,可以加我邀请你一起交流学习。最后自己也创建了一个微信公众号,里面的文章是我自己精挑细选的文章,主要介绍各种IT新技术。欢迎关注哦,微信搜索:臻美IT,等你来。 欢迎阅读本博文,本博文主要讲述【】,文字通...

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大胆预测下未来5年的Web开发

在2019年的ReactiveConf 上,《Elm in Action》的作者Richard Feldman对未来5年Web开发的发展做了预测,很有意思,分享给大家。如果你有机会从头...

立即提问