
java
文章平均质量分 79
hepei120
这个作者很懒,什么都没留下…
展开
-
JDK动态代理原理
springAop 才用了2种动态代理机制,一个是cglib动态代理,一个是jdk动态代理。今天通过一个例子来追踪一下jdk动态代理原理。public interface NewsService { public void add(); public void del();}public class NewsServiceImpl implements N原创 2017-09-23 16:45:48 · 266 阅读 · 0 评论 -
java元组工具类
关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等。除了使用数组Array、集合(List、Set、Map)这些容器类型之外,在Java中我们就必须创建一个Class来作为返回类型。但是javatuples是一个很简单的lib,它没有什么华丽的功能,就是提供了支持返回多个元素的一些类。当你纠结有没有必要创建一个少于7个属性的dto时候,就果断选择这个...原创 2019-01-29 15:41:25 · 1226 阅读 · 1 评论 -
list与Set、Map区别 ArrayList与LinkedList的区别
1、List,Set都是继承自Collection接口,Map则不是2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的Object必须定义equals()和hashcode方法 ,另外list支持for循环,也就是通过下...原创 2018-04-16 23:44:07 · 3362 阅读 · 0 评论 -
HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。 1. 什么是哈希表在讨论哈希表之...转载 2018-04-16 23:09:25 · 248 阅读 · 0 评论 -
线程停止
大多数停止一个线程的操作使用Thread.interrupt()方法,尽管方法的名称是“停止”的意思。但是这个方法不会终止一个正在运行的线程,还需要假如一个判断才可以完成线程的停止。利用异常可以停止线程package com.eroadsf.thread;public class MyThread extends Thread { @Override public void run()原创 2017-11-27 00:32:50 · 270 阅读 · 0 评论 -
java静态方法之线程安全问题
java静态方法之线程安全问题 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自己的程序计数器PC,在任何时刻,一个虚拟机线程只会执行一个方法的代码,这个方法称为该线程的当前方法,如果这个方法不是native的,程序计数器就保存虚拟机正在执行的字节码指令的地址。 线程调用方转载 2017-11-19 19:54:39 · 2537 阅读 · 0 评论 -
Java异常:选择Checked Exception还是Unchecked Exception?
Java包含两种异常:checked异常和unchecked异常。C#只有unchecked异常。checked和unchecked异常之间的区别是: Checked异常必须被显式地捕获或者传递,如Basic try-catch-finally Exception Handling一文中所说。而unchecked异常则可以不必捕获或抛出。 Checked异常继承java.lang.Excepti转载 2017-11-07 15:27:21 · 385 阅读 · 0 评论 -
Java中的异常和处理详解
简介 序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。转载 2017-10-02 22:22:51 · 235 阅读 · 0 评论 -
[译]Java中9个处理Exception的最佳实践
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。本文给出几个被很多团队使用的异常处理最佳实践。 然而,有一些最佳实践,大多数团队使用。下面是帮助您开始或改进异常处理的9个最重要的方法。转载 2017-09-30 23:36:09 · 279 阅读 · 0 评论 -
JDK8 多线程 JUC之CompletableFuture使用
package com.chezhibao.mockserver.mulitithread;import java.util.Random;import java.util.concurrent.CompletableFuture;import java.util.concurrent.CompletionStage;import java.util.concurrent.Executi...原创 2019-08-26 13:54:10 · 1050 阅读 · 0 评论