Java
文章平均质量分 80
wjp_seu
reading, thinking and coding……
展开
-
Java vs C++:两种主流编程语言的差异对比
Java和C++作为最近十几年应用最广泛,影响最深远的语言,有它们相似的地方,但根本理念还是有很大差异的。C++被直接设计为C的超集,这给它带来了很多虔诚的使用者,也带来了很多历史包袱。作为既实现面向对象,泛型又效率极高的语言;在内存效率不再那么重要的情况下,C++的应用领域不可避免的越来越窄。而Java,不直接继承自C,但考虑到其创始人詹姆斯·高斯林曾经用了十几年的C语言编程,想来他在设计Jav原创 2017-09-27 16:33:56 · 833 阅读 · 1 评论 -
Thinking in Java 读书笔记 第六章 访问权限控制
章六 访问控制权限原创 2017-10-15 21:35:08 · 413 阅读 · 0 评论 -
Thinking in Java 读书笔记 第七章 复用类(继承、组合)
章七 继承和组合 前言 随着编程语言的发展,项目规模的日益增大,代码的复用愈加重要。程序语言始终朝着越来越抽象,越来越易用的方式发展;从汇编,到C语言,到OOP语言。在C语言时代,代码复制和函数是复用的主要途径,在OOP中,通过复用类,使得代码复用更加方便和自然。 本章讲述了三种复用类的方式:组合,继承和代理。虽然继承是众所周知的OOP三大特性之一且是另一大特性多态的基础,但在实际使用中原创 2017-10-16 00:54:14 · 381 阅读 · 0 评论 -
Java核心技术(卷1) 10th 总结(兼与Java编程思想等对比)
总结 前一段时间把《核心卷》的卷一看完了,后来又看完了《图解TCP/IP》,月初考了一个证券从业证书,还有实验室的事情,实在是很忙。眼瞅着到月底了,还是抽出时间做个总结。关于Java基础的书,前后看的有四本,包括《Thinking in Java》,《Head First Java》,《Java核心卷》卷一和《Java开发实战经典》(国人写的)。个人感觉,好的书真的是各有各的特点,不好的书只是内容原创 2017-11-30 11:36:05 · 11099 阅读 · 4 评论 -
深入理解Java虚拟机 ch12 Java内存模型和线程 读书笔记
Java的并发性大多是通过多线程来实现的。本章从Java并发处理的基本模型——Java内存模型出发,介绍了Java内存模型是怎么在物理机内存模型的基础上,建立起自己平台无关的概念模型的。并详细介绍了JVM是如何通过Java内存模型实现多线程以及多线程之间因为共享和竞争数据而导致问题的解决方案的。最后说明了Java中多线程的实现,线程调度以及Java线程状态转换图。原创 2017-12-23 22:59:05 · 638 阅读 · 0 评论 -
深入理解Java虚拟机 ch8 虚拟机字节码执行引擎 读书笔记
本章的内容是虚拟机字节码执行引擎。对象是字节码,工具是虚拟机执行引擎,执行单位为栈帧。讲述的是概念模型,详细说明在完成类加载过程后,采用解析和分派的方式确定方法调用的目标方法;并从主类的main()方法开始,执行程序的概念模型和各种细节。原创 2017-12-21 21:22:28 · 468 阅读 · 0 评论 -
深入理解Java虚拟机 ch7 虚拟机加载机制 读书笔记
这里总结一下类加载的整个流程。首先,当遇到对类进行主动引用的5种情形时,说明需要进行整个类加载过程。下面,根据类的全限定名找到Class文件,进行文件格式验证。验证通过后,将Class文件转化为方法区的运行时数据结构,并生成Class对象作为类数据的访问入口。然后,对数据进行元数据验证和字节码验证,分别验证书序类型和类的方法体。接着,在准备阶段为类变量分配内存和设置初始值(零值)。再然后,将常量池中符号引用替换为直接原创 2017-12-20 22:00:42 · 568 阅读 · 0 评论 -
深入理解Java虚拟机 ch3 垃圾回收器和内存分配策略 读书笔记
本章接着上一章的内容继续讲。本章的内容分两块:**垃圾收集器**和**内存分配和回收策略**,也就是内存的分配和回收。原创 2017-11-30 23:32:47 · 284 阅读 · 0 评论 -
深入理解Java虚拟机 ch6 类文件结构 读书笔记
part3 虚拟机执行子系统 本部分讲虚拟机的执行过程所涉及到的一些部分。这部分详细地说明了Java是如何实现平台无关的:JVM和字节码存储格式。通过设计一个统一的Class文件标准去存储字节码(JVM指令集,符号表及其他辅助信息),并制定规范进行语法和结构化约束,使用JVM的执行引擎去进行解释执行,最终实现平台无关。 此外,本部分还涉及到一个非常重要的章节——JVM类加载机制:包括类加载器和类原创 2017-12-20 11:38:33 · 249 阅读 · 0 评论 -
深入理解Java虚拟机 ch2 Java内存区域与内存溢出异常 读书笔记
本章主要涉及三个话题:一是**JVM运行时内存分区**,二是**HotSpot JVM在Java堆中进行对象创建、布局和访问全过程**,三是**内存溢出异常测试**。原创 2017-11-30 23:31:21 · 249 阅读 · 0 评论 -
深入理解Java虚拟机 ch13 线程安全和锁优化 读书笔记
Java的并发性大多是通过多线程来实现的。上一章讲述了ava并发处理的基础——Java内存模型以及Java线程的有关知识。本章则在上章内容的基础上真正去实现高效并发。本章涉及两个主题,并发的正确性——线程安全和高效型——锁优化。原创 2017-12-25 13:11:11 · 550 阅读 · 0 评论 -
Thinking in Java 读书笔记 第四章 控制执行流程
章四 控制流前言 本章主要讲控制流,主要内容包括条件语句,迭代语句和一些控制流中常见的关键字。下文将按照上面三个主题将本章内容重新编排,进行整理。需要说明的是,Java的控制流与C/C++近乎一样,无需花大量时间重复学习,只需对不同处进行对比了解即可。 需要说明的一点是,在新版的JDK中,switch语句的选择因子除了int型,Enum,还可以是String。原创 2017-10-07 23:42:12 · 328 阅读 · 0 评论 -
Thinking in Java 读书笔记 第五章 初始化与清理
章五 初始化和清理 前言 在C语言中,大量的错误来自不正确的初始化;在C++中,大量的错误来自对new出来的对象没有正确的delete。Java吸取以上两者的教训,在使用了C++良好的构造器设计的同时,将所有对象都定义在堆上,并通过阻止直接对对象进行操作,使用垃圾回收器,自动回收内存,保证了对变量的正确初始化和清理。需要注意的是,对于对象的数据成员,即类的非static域,Java进行自原创 2017-10-15 01:23:04 · 347 阅读 · 0 评论 -
回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
很好的Java学习路线图,包括其他基础知识学习说明,可以当做一个长期学习参考转载自:http://www.zuoxiaolong.com/blog/article.ftl?id=184---------------------------------------------正文分割线-----------------------------引言 其实本来真的没打算写这篇文章,转载 2017-10-12 15:26:02 · 423 阅读 · 0 评论 -
Java学习路线图
下面给出一个简单的Java学习路线图,可以按图点技能点。另外推荐几个好的社区论坛:国内:博客:CSDN博客,博客园其他:并发编程网 importNew 开源中国 国外:Google Stack OverflowGithubLeetCodeJava官方文档书籍推荐入门基础:Head First Java 入门,时间充裕的话可以原创 2017-09-28 15:15:38 · 249 阅读 · 0 评论 -
Thinking in Java 读书笔记 第二章 一切都是对象
章二 一切都是对象 C++和Java都是混合/杂合型语言。相比之下,由于C++需要实现对C的向后兼容,显得更加复杂。而Java是纯面向对象语言,Java中(几乎)一切都是对象。 2.1 用引用操纵对象操纵内存中元素方式:1.直接操纵元素,2.基于特殊语法进行间接表示(如指针) 在Java中,一切被视为对象,可以用单一语法进行操纵,Java选择用引用操作。 代码示例:Strin原创 2017-10-06 23:00:07 · 230 阅读 · 0 评论 -
在Eclipse中设置注释和注释模板
转自:http://jingyan.baidu.com/article/a501d80c09dab1ec620f5e4b.htmlhttp://www.cnblogs.com/fsjohnhuang/p/3988883.htmlwindows-->preference-->Java-->Code Style-->Code Templates-->code-->new Java file例转载 2017-10-07 00:08:35 · 317 阅读 · 0 评论 -
Eclipse中关联和生成javadoc文档
转载自:http://swiftlet.net/archives/category/eclipse/javadoceclipse关联javadoc文档javadoc是从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。Eclipse有直接查看java文档和类库源码的功能,不过得手工添加才行,下面对如何在Eclipse中添加javadoc文转载 2017-10-07 00:27:34 · 457 阅读 · 0 评论 -
Java:进化的尽头 by Bruce Eckel 以及Thinking in Java 5th edition 《On Java 8》
在读Java编程思想之前,上网搜了一下Bruce Eckel的信息,发现了这篇文章和Java编程思想(4th edition)的课后题,仅做参考吧,CSDN上可下载。随后跟踪到了Bruce Eckel的个人博客页和Github页面。看到他今年6月写的一篇博客,发现Java编程思想的第五版已经发布了,叫《On Java 8》,只有电子版,在Google Play可购买,目前价格是45.6$,感觉有点转载 2017-09-29 13:57:18 · 10120 阅读 · 2 评论 -
Thinking in Java 读书笔记 第三章 运算符
章三 运算符 3.1更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值3.4.1 方法调用中的别名问题 3.5 算数运算符3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系运算符 3.8 逻辑操作符 3.9 直接常量 3.10 按位操作符 3.11 移位操作符 3.12 三元操作符if-else原创 2017-10-07 15:36:06 · 339 阅读 · 1 评论 -
Java 中finalize()方法使用
转载自:http://blog.csdn.net/carolzhang8406/article/details/6705831《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。 (1).对象不一定会被回收。 (2).垃圾回收不是析构函数。 (3).垃圾回收只与内存转载 2017-10-08 16:52:58 · 815 阅读 · 0 评论 -
手把手图文说明如何在Eclipse中查看JDK类库的源代码(JDK1.8,Eclipse Oxygen)
以下内容适用于最新Eclipse IDE和最后一版的JDK1.8,内容主要来自网络查找,亲测可用。主要分两步:1.设置,2.查看。一、设置1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"2.如下图所示,选中所使用的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)原创 2017-10-09 14:22:11 · 1598 阅读 · 0 评论 -
实例构造器是不是静态方法?
转载自:http://rednaxelafx.iteye.com/blog/652719对应Thinking in Java 书上96页,“构造器可以看成静态方法”。看到final的时候对比回看了一下static,搜到了这篇博客,感觉写的很棒,转载之。如题。这个问题的答案要看你心中的“静态”指代了什么。看到最近在论坛的一帖:renpeng301 写道如果不熟悉JVM指令,看到这转载 2017-10-10 14:46:01 · 298 阅读 · 0 评论 -
Thinking in Java 读书笔记 第一章 对象导论
章一 对象导论内容: OOP(Object-oriented Programming)的背景性,补充性材料1.1 抽象过程OOP设计方式,基于Smalltalk:万物皆为对象程序是对象的集合,对象之间通过发送消息来告知彼此所要做的每个对象都有自己的由其他对象所构成的存储每个对象都有其类型某一特定类型的所有对象都可以接收同样的消息Booch的对象描述:对象具有状态、行为、标识1.2 每个对原创 2017-10-04 22:42:56 · 312 阅读 · 1 评论 -
Head First Java 总结
Head First Java 总结花了大概十天的时间,把《Head First Java》这本书从头到尾看了一遍,还记了2本的笔记。现在回头一想,感觉有点多余:这不是一本需要做笔记反复回味的书,就是一本通过实例来对Java进行走马观花式的学习和理解的。这本书的优点不少,比较很多人推荐。书的行文思路很清晰,讲的很基础也很重要。缺点也不少,书是基于Java5的,想到上周Java9已出,版本略显老旧。然原创 2017-09-28 22:12:55 · 585 阅读 · 0 评论