Java 进阶
文章平均质量分 89
Java知识进阶
乂星人
一个程序员的故事,专注移动互联网。
展开
-
Java并发编程之ThreadLocal探讨
ThreadLocal这部分内容在正常开发过程中可能用的很少,但是却是线程操作不可缺少的,尤其是在线程间通过Handler通信是重要的一环,这一篇我就帮着大家一起分析一下ThreadLocal的使用和内部原理。ThreadLocal是什么ThreadLocal 是一个关于创建线程局部变量的类。ThreadLocal 可以把一个对象保存在指定的线程中,对象保存后,只能在指定线程中获取保存的数据,对于其他线程来说则无法获取到数据。ThreadLocal使用ThreadLocal使用非常简单,通常情况下原创 2022-03-07 15:30:02 · 3025 阅读 · 0 评论 -
摸透本质才能玩转code,Java类加载机制不仅仅是双亲委派这个词!
我们知道Class文件中描述的各种信息最终都需要加载到虚拟机中之后才能运行和使用。而虚拟机如何加载这些Class文件?Class文件中的信息进入到虚拟机后会发生什么变化?本文就带你认识一下Java的类加载机制,相信你看过本文之后一切都清楚明了了。开胃汤在认识Java类加载机制之前先看两张图,后边的知识点配合这两张图深入的更快一些。java程序的执行流程图:jvm的大致物理结构图:什么是类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以原创 2021-03-31 01:13:18 · 266 阅读 · 2 评论 -
Stream流式编程实现原理
上一篇《Stream流式编程知识总结》我们主要针对Stream流式编程的具体使用方法进行了深入的探讨,但是如果再来一个一问三连what?-why?-then?是不是又开始懵比了,哈哈,本文就运用一问三连的形式来进行争取不那么麻烦的解释Stream流式编程的实现原理。Java8新特性系列总结:《Lambda表达式你会吗》《Stream流式编程知识总结》Stream怎么用其实上篇已经讲过,Stream没用之前我们针对集合的便利帅选等操作更多的是for-loop/while-loop,用了Strea原创 2021-02-21 18:26:07 · 3079 阅读 · 3 评论 -
Stream流式编程知识总结
本篇继上一篇《Lambda表达式你会吗》又一篇Java8新特性——流式编程,上篇文章中并没有采用Stream例子来装饰Lambda表达式,害怕有同学看不懂,所以在文章末尾留个彩蛋,本篇文章重点讲一下对Java8中流式编程的运用学习。什么是StreamStream它并不是一个容器,它只是对容器的功能进行了增强,添加了很多便利的操作,例如查找、过滤、分组、排序等一系列的操作。并且有串行、并行两种执行模式,并行模式充分的利用了多核处理器的优势,使用fork/join框架进行了任务拆分,同时提高了执行速度。简而原创 2021-02-18 22:01:17 · 1422 阅读 · 0 评论 -
Lambda表达式你会吗
Lambda表达式是Java8的一个新特性,使得Java也能进行简单的函数式编程。臃肿的代码轻量化,实现逻辑突出化,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。举个简单栗子://常规匿名写法new Thread(new Runnable() { @Override public void run() { System.out.println("runnable实现常规写法!"); }}).st原创 2021-02-17 19:14:28 · 1514 阅读 · 8 评论 -
Java多态小记
Java三大特性:封装、继承和多态,随口就能说出,至于封装和继承太简单了,多态似乎有点迷糊,可以说多态就是封装和继承的组合体,今天回顾一下多态的知识。多态解释多态是同一个行为具有多个不同表现形式或形态的能力。实现形式实现同一个接口,不同的实例,相同的动作,干不一样的事。继承同一个父类,重写父类方法,干不同的事。多态的优点消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性直接的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。多态存在的三个必要条件原创 2021-02-08 00:37:53 · 891 阅读 · 10 评论 -
Java设计模式之代理模式
代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模式。原创 2016-11-22 11:23:55 · 850 阅读 · 0 评论 -
Java开发对泛型的认识和理解
转载请注明出处:http://blog.csdn.net/li0978/article/details/55193150针对泛型大家并不陌生,主要是针对某些对象以及方法参数的限定,避免在代码编写的过程中由于类型的不匹配从而造成运行期发生异常,泛型只在编译阶段有用,运行期间则会进行泛型擦除。什么是泛型泛型即“参数化类型”,目的就是将参数类型像参数一样引入到类、方法、接口中来,进而来统...原创 2017-02-15 14:47:42 · 722 阅读 · 2 评论 -
Java中==、equals()、hashcode()三者的理解
转载请注明出处:http://blog.csdn.net/li0978/article/details/53519268 以前看了有关==、equals()、hashcode()这三者的区别和使用,当时感觉就这一点知识能够记住,最近用到这块内容脑海中只有一丝印象却不知具体如何,好记性不如赖笔头,遂再重新总结一下,以便日后信手拈来。==对于引用对象而言,比较两个对象引用的是否是同一个对...原创 2016-12-08 17:12:29 · 1035 阅读 · 2 评论 -
Java反射详解
一直想把java反射原理详细的总结一下,昨天看到一位大虾利用许多小栗子阐述的非常清楚,我就顺手拈来加以补充说明,以便日后回顾和深入学习。JAVA反射机制(JAVA-Reflect)是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。原创 2016-11-14 12:01:46 · 1055 阅读 · 0 评论 -
Java开发揭开socket编程的面纱
什么是socket?网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。socket另外也支持UDP报文协议的传输。原创 2016-08-29 23:42:51 · 874 阅读 · 0 评论