Liber Sun

Talk is a 💩,show me the code.

java容器

Tanks to CS-Notes。 Java容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection Collection存储着对象的集合。 Collection接口 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator...

Java字符串

String String是不可变的,注意这里的不可变是修饰对象,String的值是可以变的 String s=”abcd”;//一个对象 String s=”abcdel;//另一个对象 String 是被声明为final类,不可被继承。 不提供setter方法, 所有的字段均为final、private。 构造函数也是private。(这里可以引出 构造函数可以有publi...

java基础

三大特性 1.封装,封装隐藏细节 对外暴露 属性与操作。 2.继承,单继承 3.多态,重写、重载。 对象的深拷贝和浅拷贝 拷贝是把一个对象的所有属性拷贝到另一个对象中去,其目的再与复用现有的对象,但是又不能改变现有对象。 被拷贝对象 A 拷贝对象 a 浅拷贝:对于基本数据类型的成员变量,会进行值的传递,因此 a和A的操作互不影响;对于引用类型(数组,对象)会进行引用传递,也就是...

javaIO

同步、异步、阻塞、非阻塞 同步:是一个任务的完成需要依赖另一个任务,只有等被依赖的任务完成后,依赖的任务才能完成。 异步:只需要通知被依赖的任务要完成任务,依赖的任务也立即执行。至于被依赖的任务最终是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。 同步就是 主线程中依此执行。 异步可以由 在主线程中开辟新的线程去执行任务 实现。 阻塞:CPU等到IO读取 非阻塞:...

Java线程安全

并发与同步

volatile volatile关键字的作用是保证变量在多线程之间的可见性,他也可以保证有序性。它是java并发开发的核心基础。 1.valatile的两层语义 一旦一个共享变量被volatile修饰后, 1) 不同线程对这个变量进行操作后,都会立即可见。(修改后,会立即写入主存,会使其他线程的缓存无效)–>可见性 2) 禁止进行指令重排序。(重排序时,在vo...

Java虚拟机

JAVA语言的编译 编译的主要目的,就是将人便于编写、阅读以及维护的高级语言所做的源代码程序,翻译为计算能够解读、运行的低级语言的程序,也就是可执行文件。 Java语言的源文件是一个java文件,要将一个java文件,转换为二进制文件一共要经过两个步骤。 FrontEnd:源代码–词法分析–>符号流–语法分析–>语法树–语义分析–>中间代码 BackEnd:中间代码–...

java版本更迭

1.5~Java10

我是一个不甘落后的Java IT从业人员,我要紧跟时代的步伐。 1999 年,Sun 正式发布了 J2EE 的第一个版本。但从 1999 年诞生的第一个 J2EE 版本一直到 J2EE 1.4 版本,虽然它已经具有了强大的功能,但仍不太被人们接受。这是因为连实现一个简单的 J2EE 程序,都需要大量的配置文件,非常不便使用。在 2002 年,J2EE 1.4 推出后,复杂程度更是达到了顶点...

设计模式

Thanks to java-design-patterns. 设计原则 Generic KISS Keep is simple and stupid YAGNI you aren’t gonna need it Keep things DRY 千万别让太多的 复制 充斥在你的代码中,那意味着维护噩梦、糟糕的分解。 Minimise Coupling...

杂七杂八:心得、体会、教训

名句 Talk is a 💩 ,show me the code!!! 跟最优秀的人在一起工作学习、那么你再不堪,也是比较优秀的人 那是程序员最初的梦想:改变世界。 多思考、多总结、多请教,保持好奇心,多问一句是什么、为什么,才能探索到奥秘。 以老板展现出来的宽容作为对自己的要求,是一种非常愚蠢的行为。 写给工程师的十条精进原则-云鹏 感谢美团技术团队提供的一系列技术文章,这里...

JavaScript模块化开发

伴随着移动互联的大潮,当今越来越多的网站已经从网页模式进化到了 Webapp 模式。它们运行在现代的高级浏览器里,使用 HTML5、 CSS3、 ES6 等更新的技术来开发丰富的功能,网页已经不仅仅是完成浏览的基本需求,并且 webapp 通常是一个单页面应用,每一个视图通过异步的方式加载,这导致页面初始化和使用过程中会加载越来越多的 JavaScript 代码,这给前端开发的流程和资源组织...

hh