![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java基础知识
文章平均质量分 74
从底层出发,深入需学习
successcodeman
共同进步
展开
-
九种读取resources目录下的文件
九种方式获取resources目录下文件的方式。转载 2022-12-27 15:05:07 · 178 阅读 · 0 评论 -
IO流读写文件
一、FileOutputStreamFileOutputStream(File file);FileOutputStream(String name);FileOutputStream o = new FileOutputStream();//在springboot中如果只是写个文件名,那么它会生成在pom.xml同级目录下如果指定了绝对路径就会生成绝对路径下o.writer(...原创 2019-02-19 18:57:58 · 363 阅读 · 0 评论 -
File类
一、构造方法File(String pathName)// D:\\a.txtFile(String parent,String child)//D:\\my,a.txtFile(File parent,String child)//new File('D:\\my'),a.txt二、File类的方法public boolean createNewFile();创建文件,已经存...原创 2019-02-19 18:58:56 · 100 阅读 · 0 评论 -
同步、异步和阻塞、非阻塞
一、三种IOBIO(同步阻塞式IO):同步阻塞式io,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池的机制改善。NIO(同步非阻塞式IO):同步非阻塞式io,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一...原创 2019-02-19 19:07:17 · 194 阅读 · 0 评论 -
io体系及各种流详解
基于字节的操作SequenceInputStream基于字符的操作- 文件流- 字节数组流- 管道流- 缓冲流- 数据流- 压缩流- 摘要流- 加密流- 多重流FileInputStream/FileOutputStream 需要逐个字节处理原始二进制流的时候使用,效率低下FileReader/FileWriter 需...原创 2019-02-19 19:12:29 · 206 阅读 · 0 评论 -
String返回引用
String str2 = new String("str")+new String("01");str2.intern();String str1 = "str01";System.out.println(str2==str1);在JDK 1.7下,当执行str2.intern();时,因为常量池中没有“str01”这个字符串,所以会在常量池中生成一个对堆中的“str01”的引用...原创 2019-02-19 19:13:14 · 615 阅读 · 0 评论 -
URL,URI,URN的区别
java中操作URI(可以对URLecoder进行解码,这一定要解码之后再调用方法,不解码可能会有问题)public void uriTest() throws Exception{URI uri = new URI("https://www.qiandu.com:8080/goods/index.html?username=dgh&passwd=123#j2se");...原创 2019-02-19 19:14:45 · 222 阅读 · 0 评论 -
synchronized和lock的原理区别
一、synchronized原理synchronized用的锁是存在java对象头里的JVM基于进入和退出Monitor对象来实现方法同步和代码块同步。1.代码块同步使用monitorenter和monitorexit指令实现的,monitorenter指令是在编译后插入到同步代码块开始位置,而monitorexit是插入到方法结束后和异常处。任何对象都有一个monitor...原创 2019-02-19 19:18:52 · 4426 阅读 · 0 评论 -
缓存一致性协议
一个cpu运行计算的步骤例如以下:1.程序以及数据被载入到主内存2.指令和数据被载入到cpu的快速存储3.cpu运行指令,把结果写到高速缓存4.高速缓存中的数据回写到主内存MESI是一种主流的缓存一致性协议,已经用在Pentium和PowerPC处理器中。modified(改动):缓存块已经改动,必须被写回主存。其它处理器不能再缓存这个块exclusive(相互排...原创 2019-02-19 19:21:12 · 390 阅读 · 0 评论 -
CPU高速缓存
越接近底层的缓存,效率越高,容量越小一级缓存(L1 Cache)L1 d-Cache是代码指令缓存,L1-i-Cache是数据缓存CPU一级缓存,就是指CPU的第一层级的高速缓存,主要当担的工作是缓存指令和缓存数据。一级缓存的容量与结构对CPU性能影响十分大,但是由于它的结构比较复杂,又考虑到成本等因素,一般来说,CPU的一级缓存较小,通常CPU的一级缓存也就能做到256KB左右的...原创 2019-02-19 19:22:41 · 1208 阅读 · 0 评论 -
线程池放在局部和成员的区别
1.线程池释放的情况有核心线程数的线程池,线程池是不会主动释放的,除非线程全都死掉了,线程池才随之释放2.线程池作为局部变量在调用该方法的时候就会频繁的创建线程池的实例,如果在没有手动调用shutdown方法的情况下会导致内存泄露。如果非要放在局部不可,需要对核心线程设置超时时间并且主动调用shutdown关闭线程池3.线程池作为成员变量这要分两种情况:(1)如...原创 2019-02-19 19:23:34 · 2605 阅读 · 0 评论