
Java
文章平均质量分 62
LoganMaaa
Java background development. I am working at IBM DaLian & still improving myself everyday. One day I will be a singular person.
展开
-
BIO 实现Client与Server的通信
看了一篇BIO(同步阻塞)NIO(同步非阻塞)AIO(异步非阻塞)的文章,就是非阻塞IO,大家都知道,Java中的通信是通过流进行操作的。这样就会提出几个名词。阻塞,非阻塞,同步,异步。同步 - 是针对通信机制而言的,同步是指当我发送一个请求后,我代码就要等待响应,否则不能执行接来下的代码。 异步 - 也是针对通信机制而言的,异步是指当我发送请求后,此时我还可以去做其他的事情,当有结...原创 2018-08-14 13:49:09 · 744 阅读 · 0 评论 -
动态代理-CGlib和JDK动态代理
重温jdk动态代理和cglib代理的区别:jdk动态代理实现InvocationHandler接口,重写invoke方法,加上自己想要的逻辑代码。 创建代理目标对象 通过Proxy.newInstance(classLoader,interfaces,InvocationHandler子类);去创建代理类,之后强转或者使用泛型方法。 通过代理类来进行方法的调用。要求:代理类和目标对...原创 2019-04-20 15:42:24 · 202 阅读 · 0 评论 -
算法:青蛙跳台阶
1.一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。典型的斐波那契数列2.青蛙跳台阶plus版本一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1) = 1f(2) = f(2-1) + f(2-2...原创 2019-05-02 17:22:08 · 3785 阅读 · 0 评论 -
JVM中堆的结构
新生代 --会发生Minor GC1.EdenEden区包含很多个TLAB(Thread Local Allocation Buffer,即线程私有缓冲区),对象分配于此区域,当内存需求不断扩大时,TLAB会动态扩展,当Eden还有额外空间时,会再分配一个TLAB。当对象太大时JVM会在Eden区寻找一个块连续的空间存储该对象,如果对象过大时,Eden区无法满足其需求时,...原创 2019-04-22 23:20:41 · 2747 阅读 · 0 评论 -
ThreadLocal 原理
由于Alibaba面试官提到ThreadLoacl,但是由于之前根本没有使用过,也没真正的去专研这个类。连夜赶出一篇文章。ThreadLocalThreadLocal是解决多线程访问同一变量,保证线程安全产生的。它为每一个使用变量的线程提供一个独立的副本。换句话说,每个线程都持有一个该对象的副本。自己对自己的副本进行操作就不会出现线程不安全的问题。它将每个线程和对象的副本存放在Thre...原创 2018-09-06 23:55:29 · 184 阅读 · 0 评论 -
Java 多线程交替打印1~100
Java 多线程交替打印1~100亮点:1. 这个Demo中,利用了static 静态导包。2. 进入Git仓库,在同包下面会找到保证原子性的三个Demo(分别是,利用synchronized,ReentrantLock,和AtomicInteger实现的)。GitHub :https://github.com/maronghe/ODOP/blob/master/src/com...原创 2018-09-02 21:27:08 · 10723 阅读 · 3 评论 -
归并排序 - Java实现
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。Git地址:https://github.com/maronghe/arithmetic/blob/master/src/...转载 2018-08-27 11:51:02 · 180 阅读 · 0 评论 -
Lambda表达式 Java1.8
Lambda表达式,一看这个写法,我就联想到了ES6中的箭头函数,因为女朋友是做前端的,之前跟她一起学过一些前端的知识,不过学识尚浅,如果有什么想切磋的,直接联系我就好了。Lambda表达式是在Java 1.8后出现的,他是针对接口中只有一个抽象方法,可用@FunctionalInterface修饰告诉JVM,这样JVM就不用挨个的去判断是否只包含一个JVM了。凡是提出某个技术,我就愿意去从它...原创 2018-08-17 12:55:39 · 227 阅读 · 0 评论 -
阿里面试题之《学生党如何拿到阿里技术offer》
原文转发自:https://yq.aliyun.com/articles/6656https://yq.aliyun.com/articles/7468转载 2018-08-12 15:47:04 · 311 阅读 · 0 评论 -
阿里巴巴Java开发手册-终极版
下载地址:链接: https://pan.baidu.com/s/1_FdKXOGM21BroiDH1edvIg密码: qsjn转载 2018-08-12 15:20:12 · 1172 阅读 · 0 评论 -
线程池的好处和实现
Java 实现Demopackage com.logan;import java.util.concurrent.*;/** * 线程池测试类 * @author logan * @Date 2019年05月08日23:40:49 */public class MyThreadTester { public static void main(String[] ...原创 2019-05-08 23:45:41 · 343 阅读 · 0 评论