![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaSE学习
进击的dog
种一棵树最好的时机是十年前,其次是现在。
展开
-
java8新特性
Lambda表达式lambda表达式的使用依赖于函数式接口,函数式接口可以加注解进行语法验证。@FunctionalInterfacepublic interface prodict { int test(Integer i1,Integer i2);}函数式接口四大函数式接口:Consumer 消费型接口@FunctionalInterfacepublic inter...原创 2020-01-06 11:50:03 · 184 阅读 · 0 评论 -
javaSE 并发包CopyOnWriteArrayList源码分析
CopyOnWriteArrayList每个CopyOnwriteArrayList对象都存在一个volatile修饰的array数组对象来存放具体元素,使用独占锁ReentrantLock对CopyOnWriteArrayList的新增修改进行原子性操作保证,源码:final transient ReentrantLock lock = new ReentrantLock();...原创 2019-06-17 20:32:24 · 474 阅读 · 0 评论 -
javaSE Socket编程,tcp与upd实现
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP与socket的关系:HTTP是轿车,提供了封装或者显示数据的具体形式。 Socket是发动机,提供了网络通信的能力。socket通讯分为t...原创 2019-06-11 20:23:57 · 639 阅读 · 0 评论 -
javaSE CSV格式文件读写操作
CSV格式介绍逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记...原创 2019-06-17 16:19:09 · 569 阅读 · 0 评论 -
javaSE 并发包 ThreadLocalRandom类原理剖析
ThreadLocalRandom类原理剖析Random的缺陷原来的Random类的产生一个新随机数的树的步骤为:首先根据老的种子生成新的种子。 然后根据新的种子来计算新的随机数。代码:public int nextInt(int bound) {if (bound <= 0)throw new IllegalArgume...原创 2019-06-16 17:05:40 · 513 阅读 · 0 评论 -
javaSE 并发包 原子变量操作类
原子变量操作类使用场景在使用volatile修饰变量后,能保证内存可见性,但是并不能保证原子性操作,因此在JUC中补充了一些原子性操作类:AtomicInteger、AtomicLong、AtomicBoolean等。其内部值都是volatile修饰的。源码分析AtomicLong是原子性递增或者递减类,其内部使用Unsafe类来实现。 方法 ...原创 2019-06-16 17:02:06 · 554 阅读 · 0 评论 -
javaSE 并发编程基础知识
SynchronizeSynchronize是java提供的一种原子性内置锁,也成排他锁、独战锁、互斥锁。进入Synchronize块的语义就是把Synchronize块使用到的变量从工作内存中清除,直接从主存中获取,释放锁就把变量直接写入主存中。VolatileVolatile关键保证一个变量的更新时对其他线程马上可见,读取写入变量时都是直接到主存中。但是volatile只能保证内存...原创 2019-06-15 17:12:57 · 519 阅读 · 0 评论 -
java 图片编辑类 Thumbnails 使用
1.引入jar<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version></dependency>2.使用demo...原创 2019-05-31 15:26:26 · 1711 阅读 · 0 评论 -
java 开发常用的工具类
org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toString:转换IO流、 Uri、 byte[]为Stringcopy:IO流数据复制,从输入流写到输出流中,最大支持2GBtoByteArray:从输入流、URI获取byte[]...转载 2019-05-31 11:12:15 · 428 阅读 · 0 评论 -
java 性能优化小细节
代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项...转载 2019-04-28 14:30:30 · 516 阅读 · 0 评论 -
javaSE-多线程学习
一、Java多线程实现的方式有四种1.继承Thread类,重写run方法public class ThreadDemo01 extends Thread{ public void run(){ //编写自己的线程代码 System.out.println(Thread.currentThread().getName()); } p...原创 2019-04-23 22:00:21 · 517 阅读 · 0 评论