
Java
文章平均质量分 78
yyangqqian
这个作者很懒,什么都没留下…
展开
-
Java 之各种集合框架总结
Collection接口、Collections类、Map接口**Collections:**集合操作工具类,包含各种操作集合的静态方法。**Collection:**集合结构的父接口,关系图如下:Collection 继承了 Iterable 迭代器接口,所有实现了 Collection 集合的实现类都可以使用迭代器进行遍历。**Map:**key-value结构的父接口,关系图如下...原创 2019-06-26 14:47:07 · 356 阅读 · 0 评论 -
Java 之集成 DataX 数据同步工具
2、将依赖添加到本地(DataX没有maven坐标,需要自己安装)1、官网下载 DataX。原创 2025-02-26 14:13:28 · 445 阅读 · 0 评论 -
Java 之JSch实现ssh远程操作
Java原创 2022-11-23 14:57:28 · 1499 阅读 · 0 评论 -
Java 之HashMap、ConcurrentHashMap底层原理
Java 之HashMap、ConcurrentHashMap底层原理原创 2021-03-29 16:53:33 · 865 阅读 · 0 评论 -
Java 之 equals、==、hashcode、String详解
==比较 new 出来的对象肯定是false,因为两个对象的内存地址肯定是不一样的。比较 基本数据类型,比较的是值。equals是 Object 的方法,所以只能比较引用类型,不能比较基本类型。如果没有被覆写,相当于 == 。...原创 2020-12-10 10:15:07 · 229 阅读 · 0 评论 -
Java 之在Lambda代码中不能修改外部变量值
问题重现:public void test() { List<Integer> list = new ArrayList<>(); int sum = 0; list.forEach(a -> { sum += a; });}public void test() { List<Integer>...原创 2020-01-03 18:11:04 · 7277 阅读 · 1 评论 -
Java 开发之替换掉冗余的 if else 嵌套
替换掉 多层 if else 嵌套方法:1、接口分层2、多态3、使用 map 代替分支语句4、策略+工厂模式模拟场景:不同的渠道类型分别使用不同的逻辑处理。渠道类型:储蓄卡、信用卡、公众号一般实现: public static final String depositCard = "depositCard"; public static final String creditCard = "creditCard "; public static final String Offici原创 2020-08-18 15:29:36 · 703 阅读 · 0 评论 -
Java 之阅读 effctive-java-3 笔记
文章目录Creating and Destroying Objects考虑使用静态工厂方法替代构造方法当构造方法参数过多时使用 builder 模式避免创建不必要的对象Methods Common to All ObjectsCreating and Destroying Objects获得类的实例:提供一个公有的构造函数。提供一个公有的静态工厂方法,该方法只是一个返回类的实例的静态方法...原创 2020-03-25 13:55:43 · 257 阅读 · 0 评论 -
Java 之异常处理(Error与Exception)
文章目录异常的结构异常处理机制异常的结构Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。异常和错误的区别是:异常能被程序本身可以处理,错误是无法处理。Java的异常(Throwable)分为可查的异常(checked exceptions)和不可查的异常(unchecked excepti...原创 2020-03-11 12:16:48 · 228 阅读 · 0 评论 -
Java泛型中extends和super的区别
https://www.cnblogs.com/drizzlewithwind/p/6100164.html原创 2019-05-21 13:27:04 · 217 阅读 · 0 评论 -
BIO、NIO、AIO理解
一、背景要提升服务器的并发处理能力,通常有两大方向的思路。1、系统架构层面。比如负载均衡、多级缓存、单元化部署等等。2、单节点优化层面。比如修复代码级别的性能Bug、JVM参数调优、IO优化等等。一般来说,系统架构的合理程度,决定了系统在整体性能上的伸缩性(高伸缩性,简而言之就是可以很任性,性能不行就加机器,加到性能足够为止);而单节点在性能上的优化程度,决定了单个请求的时延,以及要达到期...原创 2019-06-14 18:08:48 · 148 阅读 · 0 评论 -
Java 之优雅地关闭资源 try-with-resource、lombok
一、背景我们知道,在Java编程过程中,如果打开了外部资源(文件、数据库连接、网络连接等),我们必须在这些外部资源使用完毕后,手动关闭它们。因为外部资源不由JVM管理,无法享用JVM的垃圾回收机制,如果我们不在编程时确保在正确的时机关闭外部资源,就会导致外部资源泄露,紧接着就会出现文件被异常占用,数据库连接过多导致连接池溢出等诸多很严重的问题。二、传统的资源关闭方式为了确保外部资源一定要被关...原创 2019-06-20 17:06:22 · 582 阅读 · 0 评论 -
Java中static、final、static final的区别
final:final可以修饰:属性,方法,类,局部变量(方法中的变量)final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。final修饰的属性表明是一个常数(创建后不能被修改)。final修饰的方法表示该方法在子类中不能被重写,final修饰的类表示该类不能被继承。对...原创 2019-04-28 10:28:19 · 101 阅读 · 0 评论 -
Runnable和Callable的区别
Runnable和Callable的区别Runnable和Callable的区别:ExcutorService中的excutor和submit方法的区别使用场景:FutureTask:ExecutorCompletionService:示例代码:使用CompletionService维护结果:自己创建list维护执行结果:Runnable和Callable的区别:1、Runnable任务方法是...原创 2019-03-04 11:14:14 · 18845 阅读 · 3 评论 -
Java 之进程缓存之王 Caffeine Cache
文章目录使用入门过期策略填充策略驱逐策略监听器Caffeine是基于JAVA 1.8 Version的高性能缓存库。Caffeine提供的内存缓存使用参考Google guava的API。Caffeine是基于Google Guava Cache设计经验上改进的成果。是目前效率最好的进程缓存。使用入门LoadingCache<String, String> build = Caf...原创 2019-08-07 09:47:45 · 1812 阅读 · 0 评论 -
Collection 中 Queue 详解
文章目录ArrayBlockingQueueLinkedBlockingQueueLinkedBlockingDequeArrayBlockingQueue1、定义package java.util.concurrent;public class ArrayBlockingQueue<E> extends AbstractQueue<E> imple...原创 2019-04-18 13:21:56 · 1405 阅读 · 0 评论 -
Java 之访问控制权限(public,private,protected,default)详解
class之间的关系做一个简单的定义:对于继承自己的class,可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。public公开;可以被所有其他类所访问。private私有;只能被自己访问和修改。protected保护;自身、子类及同一个包中类可以访问。friendly默认:同一包中的类可以访问,声明时没有加修饰符,认为是friendl...原创 2019-04-28 10:22:39 · 22395 阅读 · 5 评论