java基础
文章平均质量分 88
三水写代码
你只管努力变得优秀······
展开
-
Java NIO 详解
java.nio.Buffer 用于读写数据,是Java NIO读写操作的中间容器。数据从通道读入缓冲区,从缓冲区写入通道。缓冲区本质上是一块可以写入和读取数据的内存,这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便该块的内存访问。缓冲区实际上就是一个容器对象/数组。常用的Buffer子类包括:ByteBuffer:ByteBuffer是最常用的Buffer实现类,用于读写字节数据。CharBuffer:用于读写字符数据。原创 2023-07-28 19:00:00 · 2566 阅读 · 0 评论 -
Java IO(BIO) 总结
java IO BIO原创 2023-07-26 08:00:00 · 2015 阅读 · 0 评论 -
Java8--Stream的各种用法(二):collect、Collectors
Steam Collectors的使用原创 2022-11-30 15:08:21 · 3321 阅读 · 0 评论 -
Java8--Stream的各种用法(一)
java8 Stream API原创 2022-10-25 16:04:00 · 644 阅读 · 0 评论 -
力扣:735 使用标记跳转简化代码 A:{ while/for ..... break A }
行星碰撞问题题目描述:给定一个整数数组 asteroids,表示在同一行的行星。对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向相同的行星,永远不会发生碰撞。下面是题目给出的示例: 注意示例4,有助于搞清楚题目意思,我刚开始做的时候就弄错了题目含义这个题目倒不是有..原创 2021-05-13 20:01:17 · 199 阅读 · 0 评论 -
lambda表达式的优雅
1什么是Lambda?我们知道,对于一个Java变量,我们可以赋给其一个“值”。如果你想把“一块代码”赋给一个Java变量,应该怎么做呢?比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量:在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。推荐:JDK8新特性之Lambda表达式。...转载 2019-08-20 09:54:46 · 2285 阅读 · 2 评论 -
JDK1.8对ConcurrentHashMap的优化
ConcurrentHashMap在1.8中的优化:取消segments字段,直接采用transient volatile HashEntry<K,V>[] table保存数据,采用table数组元素作为锁,从而实现了对每一行数据进行加锁,进一步减少并发冲突的概率。 将原先table数组+单向链表的数据结构,变更为table数组+单向链表+红黑树的结构。对于hash表来说,最核心...原创 2019-06-18 15:22:53 · 3986 阅读 · 0 评论 -
JDK实现动态代理---Proxy
JDK动态代理的使用示例:JDK中的动态代理是面向接口实现的,所以要使用JDK的动态代理,必须要创建接口。1、创建代理接口ProxyService:package cn.zsm.proxy.service;public interface ProxyService { void proxyMethod(); }2、创建接口实现类ProxyServiceImplpa...原创 2019-05-15 19:03:02 · 3592 阅读 · 2 评论 -
java final关键字
final关键字的基本用法:final关键字可以用来修饰类、方法、变量(包括成员变量、局部变量、方法参数)。1、修饰类final修饰的类,不能被继承。final修饰的类中的成员变量可以根据需要设置为final,而final类中的成员方法都会被隐式指定为final修饰的方法。2、修饰方法final修饰的方法,可以被子类继承、可以被重载,但不能被子类重写。《Java...原创 2019-04-09 18:20:28 · 1289 阅读 · 0 评论 -
Java多线程基础(1)
线程的生命周期:新建(New):线程对象创建就绪(Runnable):调用线程对象的start()方法,线程进入就绪状态,等待CPU调用运行(Running):CPU调用就绪状态的线程,开始执行线程阻塞(Blocked):运行状态的线程暂时放弃CPU使用权,停止执行,进入阻塞状态。根据产生阻塞的原因不同,阻塞状态可分为三种: 等待阻塞:运行状态中的线程执行wait()方法...原创 2019-04-11 12:42:30 · 544 阅读 · 0 评论