未来编程

未来编程

Java面试通关要点汇总集

文章目录1. 基础篇1.1. 基本功1.2. 集合1.3. 线程1.4. 锁机制2. 核心篇2.1. 数据存储2.2. 缓存使用2.3. 消息队列3. 框架篇3.1. Spring3.2. Netty4. 微服务篇4.1. 微服务4.2. 分布式4.3. 安全问题4.4. 性能优化5. 工程篇5....

2018-03-12 22:48:36

阅读数 164

评论数 0

webApplicationContext与ServletContext的关系

注:时间久远,出处不详

2018-03-07 21:04:45

阅读数 479

评论数 0

如何实现自定义hashcode和equals方法

当需要自己实现hashCode()和equals()方法时,可以借助Apache Commons包的工具类:EqualsBuilder和HashCodeBuilder

2018-03-07 21:00:50

阅读数 97

评论数 0

Java 中的中文编码问题(非常详细)

只要有跨应用数据交换的地方,都可能产生编码和解码。出现乱码问题唯一的原因都是在 char 到 byte 或 byte 到 char 转换中编码和解码的字符集不一致导致的。几个常用的类:String name = "I am 君山"; byte[] utf8 =...

2018-03-07 20:55:23

阅读数 4345

评论数 0

Java中读取大文件的工具类

超大文件容易导致内存耗尽和重复读取,怎么办?1、传统的在内存中读取这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致程序抛出OutOfMemoryError 异常。2、文件流使用java.util.Scanner类扫描文件的内容,一行一行连续地读取。这种方案将会遍历文件中...

2018-03-07 20:51:17

阅读数 285

评论数 0

JVM垃圾回收全景图

注:以前记笔记是在有道云笔记里,现在搬过来,但时间久远,出处已不详。

2018-03-07 20:48:31

阅读数 45

评论数 0

Java中String#split的坑

String str = "a,b,c,,"; String[] ary = str.split(","); // 预期是5,结果是 3 System.out.println(ary.length);所以,对于String的s...

2018-03-07 20:45:15

阅读数 98

评论数 0

基于泛型的PECS原则

PECS(Producer Extends Consumer Super)原则: 第一、 频繁往外读取内容的,适合用<? extends T>。 第二、 经常往里插入的,适合用<? super T>。我们知道J...

2018-03-07 20:43:58

阅读数 176

评论数 0

Double转BigDecimal

不能直接new BigDecimal(1.1),这样可能会有精度丢失。应该:new BigDecimal().valueOf(1.1); // 使用valueOf或new BigDecimal("1.1"); // 使用字符

2018-03-07 20:42:12

阅读数 802

评论数 0

Java基础常识(适用于面试)

八大数据类型的对应类里有常量表示类型的最大值最小值等取值范围局部变量不能被声明为 static 变量final 对象的引用不能改变,但是里面的值可以改变类中的 final 方法可以被子类继承,但是不能被子类修改final 类不能被继承如果一个类包含抽象方法,那么该类一定要声明为抽象类volatil...

2018-03-07 20:40:48

阅读数 86

评论数 0

BO、PO、DAO、DTO、VO、POJO

BO:Business Object,业务对象。主要是承载业务数据的实体。处理业务逻辑的时候使用,数据结构也是针对业务逻辑建立的。PO:persistence Object,持久化对象。数据最终要存储,无论以何种形式存储,都必须要持久化。加入使用关系数据库存储,一个PO对应一条数据库的记录,或者是...

2018-03-07 20:34:43

阅读数 35

评论数 0

怎么做对象的深拷贝?

深拷贝的实现方案:借助Apache Commons包,内部为反射的实现: org.apache.commons.beanutils.PropertyUtils.copyProperties(Object dest, Object orig) org.apache.commons.beanutils...

2018-03-07 20:33:26

阅读数 124

评论数 0

for(;;)和while(1)两种死循环的区别

在JUC的源码中,经常看到for(;;),为什么不使用while(true)呢?for(;;)死循环里的两个;;代表两个空语句,编译器一般会优化掉它们,直接进入循环体。 while(true)死循环里的true被看成表达式,每循环一次都要判断表达式是否真。 即,相对来说for式死循环更加高效一点。...

2018-03-07 20:30:02

阅读数 4207

评论数 0

CountDownLatch的简单示例

CountDownLatch有3个主要方法:1. 构造方法:定义计数器数量2. countDown():计数器减一3. await():阻塞当前线程直到计数器为0时,唤醒所有线程模拟多并发场景:定义一个CountDownLatch,每启动一个线程后让线程wait。等所有线程启动完毕后,执行每个线程...

2018-03-07 20:27:22

阅读数 46

评论数 0

如何调试多线程

1. 去除主线程的干扰在断点处增加断点属性:(!(Thread.currentThread().getName().equals("main")))2. 挂起整个JVM

2018-03-07 20:23:21

阅读数 1208

评论数 0

Java注解

注解的作用就是给代码打标签,是代码的元数据,本身没什么作用,需要结合反射进行处理。Java内置的3个注解: @Override @Deprecated @SuppressWarnings还有4种元注解,专门提供注解的创建:@Target 表示该注解可以用于什么地方.可以用的参数包括(可以指定多个,...

2018-03-07 20:21:01

阅读数 37

评论数 0

Java和CGLIB的动态代理

静态代理和动态代理的区别是: 代理类和委托类的关系是在运行时还是运行前确定.动态代理分两种:Java反射机制实现的动态代理import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public cl...

2018-03-07 20:15:44

阅读数 39

评论数 0

Java8的日期API——joda time

Java中,现有的与日期和时间相关的类存在诸多问题,其中有:Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义。java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期,将...

2018-03-07 20:13:34

阅读数 1374

评论数 0

Java IO的类介绍

分字符流和字节流,下图中没有包含RandomAccessFile,该类自成一派,属于IO包,但直接继承自object类。BufferedReader包装InputStreamReader,提供行读取。PipedReader和PiperWriter是用于不同线程之间通信的(传输字符),这两个必须结合...

2018-03-07 20:09:26

阅读数 62

评论数 0

ArrayList、Vector、HashMap、HashTable、HashSet的默认初始容量、加载因子、扩容增量

Java中集合容量是有初始值的,如果容量不够用就会进行扩容,并将容器原来的数据全部复制到新的内存上。设置合理的初始容量,可以提高效率。加载因子(factor):小于等于1,当元素个数超过(容量长度*加载因子)时,进行扩容。List 元素是有序的、可重复,ArrayList、Vector默认初始容量...

2018-03-07 20:00:20

阅读数 324

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭