首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

好书推荐《Effective Java

在我感觉来看,这个是Java语言《原则》书。同样这就说明我看工具书很少哈哈哈。这本书不适合入门时候看,而是使用了Java半年以上、较为熟悉Java生态了之后,去翻看比较合适。...我觉得里面提到很多原则在编程时都应该尽可能遵守。很多Java规则,读这书之前并不知道,但可能你一直就是这么做了,也许你会惊讶。...其实这些都是IDE(集成开发环境,Java常用是IEDA)在无形帮助我们养成良好习惯而努力。因为他会通过各种警告提示我们。如果你有很好信任IDE的话,你将养成了不少好习惯。...对于书中 78 条规则,这里就不细讲了,因为这里是读书笔记而不是技术分享。今天想说是根据这些Java开发规则而想到一些七七八八个人想法。...首先,使用 Java 的人,绝大多数都是程序员,就是所谓软件工程师。我们在公司里,从事是代码生产工作,也就是说,我们做是一项非常严谨工程,这里严谨工程,我们首先是工程师。

59940

学习java好书及视频推荐

要想在java领域成为大牛,除了不断进行项目实战以外,还要不断进行进修和学习,以下将本人学习java多年使用好书和一些好视频推荐给大家,这些书和视频都是本人在网络找了很久,后来又经过实践证明好书和视频...1.3 要想深入去学习java,可以看《深入java虚拟机》,让你深入了解java运行原理,地址:http://product.dangdang.com/product.aspx?...3 学习hibernate好书:孙卫琴写《精通Hibernate:java对象持久化技术详解》。 4 学习EJB3书:《EJB3 实战》,国外书,马朝晖这个哥们翻译。...5 学习java数据结构经典好书:《数据结构与算法分析:Java语言描述》(第2版) http://www.amazon.cn/gp/product/B001N6R9JK/ref=oss_product...数据结构是java往深层学习必须要要学书,面试中也是很重要一部分,所以想要高薪同学们不要忽略了这方面的知识 6 学习linux好书:这个不用说,鸟哥书就是最棒linux入门书籍,《鸟哥私房菜

48410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    学习Java好书及视频推荐

    要想在java领域成为大牛,除了不断进行项目实战以外,还要不断进行进修和学习,以下将本人学习java多年使用好书和一些好视频推荐给大家,这些书和视频都是本人在网络找了很久,后来又经过实践证明好书和视频...1.3 要想深入去学习java,可以看《深入java虚拟机》,让你深入了解java运行原理,地址:http://product.dangdang.com/product.aspx?...3 学习hibernate好书:孙卫琴写《精通Hibernate:java对象持久化技术详解》。 4 学习EJB3书:《EJB3 实战》,国外书,马朝晖这个哥们翻译。...数据结构是java往深层学习必须要要学书,面试中也是很重要一部分,所以想要高薪同学们不要忽略了这方面的知识 6 学习linux好书:这个不用说,鸟哥书就是最棒linux入门书籍,《鸟哥私房菜...分上下两册,这也是得到一致认可好书

    72020

    书单 | 10本学习Java经典畅销好书

    在5G时代,Java职业选择宽广,市场人才需求旺盛,只要你对Java感兴趣,有一定逻辑思维能力,通过阅读领域内好书,便可找到有效学习路径!...本期书单,博文菌为大家精挑细选了10本学习Java经典畅销好书,希望可以帮助大家搭建起属于自己知识体系,实现职业、技能全面发展!...本书深入介绍了Java编程相关方面,全书内容覆盖了Java基本语法结构、Java面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释...、JavaIO流体系、Java多线程编程、Java网络通信编程和Java反射机制。...书单好书任你选 按以下方式与博文菌互动,即有机会获赠本文书单中任意一本图书!

    1.1K20

    Java虚拟机和Dalvik虚拟机区别java虚拟机和Dalvik虚拟机区别

    很多人认为Dalvik虚拟机是一个Java虚拟机,因为Android编程语言恰恰就是Java语言。...但是这种说法并不准确,因为Dalvik虚拟机并不是按照Java虚拟机规范来实现,两者并不兼容;同时还要两个明显不同: Java虚拟机运行Java字节码,而Dalvik虚拟机运行则是其专有的文件格式...在Java SE程序中Java类会被编译成一个或者多个字节码文件(.class)然后打包到JAR文件,而后Java虚拟机会从相应CLASS文件和JAR文 件中获取相应字节码;Android应用虽然也是使用...虚拟机和Dalvik虚拟机区别: java虚拟机 Dalvik虚拟机 java虚拟机基于栈。 ...基于栈机器必须使用指令来载入和操作栈上数据,所需指令更多更多 dalvik虚拟机是基于寄存器 java虚拟机运行java字节码。

    2.5K90

    2017年,Java程序猿10本经典好书推荐

    1、Java 8实战 本书全面介绍了Java 8 这个里程碑版本新特性,包括Lambdas、流和函数式编程。有了函数式编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。...全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和**Java 8,清晰明了地向读者展现了一幅Java 与时俱进现代化画卷。...Spring 4.0引入了众多Java开发者翘首以盼基于Groovy Bean配置、HTML 5/WebSocket支持等新功能,全面支持Java 8.0,低要求是Java 6.0。...这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发难度,同时有效提升应用开发优雅性。...通过本书学习,你将具备用Java攻克深度学习问题能力,并为这个领域贡献自己力量。

    1.3K120

    Java虚拟机--Java发展史Java虚拟机

    Java虚拟机 从今开始,笔者开始向大家讲解JAVA虚拟机知识,有没有很兴奋!!!! 对于JAVA开发者来说,虚拟机再熟悉不过,每天工作中都会接触,但是总有一种“近在眼前,却又远在天边”感觉。...既然学习虚拟机,那么关于Java相关历史还是有必要去了解,在本章节中,笔者将会先介绍Java发展历史,再说说Java虚拟机发展历史! 接下里,就让我们开始第一章节学习吧。...因此,Sun在1996 年1月23日发布了JDK1.0,提供了一个纯解释执行Java虚拟机实现(Sun Classic VM)。...在JDK1.0版本中,主要技术包括:Java虚拟机、AWT等。...在Java1.2这个版本中,Java虚拟机第一次内置了JIT(Just In Time)编译器,之前版本Sun Classic VM虚拟机只能以外挂形式使用JIT编译器。

    1.5K70

    Java虚拟机--虚拟机内存区域Java虚拟机内存区域

    Java虚拟机内存区域 Java程序在JVM虚拟机中运行,当我们一个类被加载到虚拟机中时,JVM会给该类分配具体内存空间/内存地址,而这被分配区域就是Java虚拟机运行时内存区域。...虚拟机开始启动,Java虚拟机通过类加载器加载xxx.class字节码文件,加载完毕之后(加载过程后续会讲到),再交由Java虚拟机执行引擎进行实际运行。...根据《Java虚拟机规范(Java SE 7版本)》规定,Java虚拟机所管理内存包括如下几个Java运行时候数据区域: ?...Java虚拟机堆 在Java虚拟机中,Java虚拟机堆是各个线程中共享内存区域,也是我们Java程序中新建对象数数组锁分配内存区域。...Java虚拟机堆在启动时候就被创建了,我们通常所说GC垃圾回收,回收内存区域就是Java虚拟机堆。在Java虚拟机堆中,还可以细分为新生代、老年代,对于这两者我们后续在做讲解。

    2.1K80

    Java虚拟机

    一、概述 虚拟机类加载机制 :Java虚拟机把描述类数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用Java类型,这个过程被称作虚拟机类加载机制...加载阶段结束后 ,Java虚拟机外部 二进制字节流 就按照虚拟机所设定格式 存储在方法区之中 了,方法区中数据存储格式完全由虚拟机实现自行定义,《Java虚拟机规范》未规定此区域具体数据结构。...Java虚拟机如果不检查输入字节流,对其完全信任的话,很可能会因为载入了有错误或有恶意企图字节码流而导致整个系统受攻击甚至崩溃,所以验证字节码是 **Java虚拟机保护自身** 一项必要措施。...直到 初始化阶段 ,Java虚拟机才 真正开始执行类中编写Java程序代码 ,将主导权移交给 应用程序 。...因此在Java虚拟机中第一个被执行()方法类型肯定是java.lang.Object。

    63220

    JAVA虚拟机与Android虚拟机区别

    1.JAVA虚拟机运行JAVA字节码,Dalvik虚拟机运行是Dalvik字节码 java虚拟机JAVA->class文件 dalvik虚拟机JAVA->class文件->Dalvik字节码...jvm虚拟机解析文件效率。...Dalvik虚拟机 SDK中有个dx工具负责将JAVA字节码转换为Dalvik字节码,**对JAVA类文件重新排列,**将所有JAVA类文件中常量池分解,消除其中冗余信息,重新组合形成一个常量池,...3.寄存器虚拟机必须从操作指令中解码操作数,需要额外解码操作。...Dalvik虚拟机执行是dex字节码,ART虚拟机执行是本地机器码 Dalvik执行是dex字节码,依靠JIT编译器解释执行,运行时动态地将执行频率很高dex字节码翻译成本地机器码,然后在执行,

    1.1K20

    Java虚拟机

    scope=mdnice] 简述JVM内存模型 线程私有的运行时数据区: 程序计数器、Java 虚拟机栈、本地方法栈。 线程共享运行时数据区:Java 堆、方法区。...简述虚拟机Java 虚拟机栈用来描述 Java 方法执行内存模型。线程创建时就会分配一个栈空间,线程结束后栈空间被回收。...简述本地方法栈 本地方法栈与虚拟机栈作用相似,不同虚拟机栈为虚拟机执行 Java 方法服务,本地方法栈为本地方法服务。...可以将虚拟机栈看作普通java函数对应内存模型,本地方法栈看作由native关键词修饰函数对应内存模型。...可作为 GC Roots 对象包括虚拟机栈和本地方法栈中引用对象、类静态属性引用对象、常量引用对象。 简述java引用类型 强引用: 被强引用关联对象不会被回收。

    89500

    Java虚拟机

    1、Java虚拟机是什么 “Java虚拟机“可以指三种不同东西 抽象规范 一个具体实现 一个运行中虚拟机实例 当运行一个Java程序同时,也就是在运行一个Java虚拟机实例 2、Java虚拟机生命周期...在java虚拟机内部有两种线程:守护线程和非守护线程。当该程序中所有的非守护线程都终止时,虚拟机实例将自动退出。 3、Java虚拟机体系结构 ?...一个虚拟机实例行为是分别按照子系统、内存区、数据类型以及指令这几个术语来描述。 3.1、数据类型 ? Java语言中所有的基本类型同样也都是Java虚拟机基本类型。...3.6Java栈 每当启动一个线程时,Java虚拟机都会为它分配一个Java栈,Java栈也帧为单位保存线程运行状态,虚拟机只会直接对Java栈执行两种操作:以帧为单位压栈和出栈。...当虚拟机在常量池中搜索时,如果遇到类、接口、字段或者方法入口,假若它们仍然是符号,虚拟机那时候才会进行解析。 3.8执行引擎 指令集:方法字节码流是由Java虚拟机指令序列构成

    1.2K100

    Java虚拟机

    一、概述 虚拟机类加载机制 :Java虚拟机把描述类数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用Java类型,这个过程被称作虚拟机类加载机制...加载阶段结束后 ,Java虚拟机外部 二进制字节流 就按照虚拟机所设定格式 存储在方法区之中 了,方法区中数据存储格式完全由虚拟机实现自行定义,《Java虚拟机规范》未规定此区域具体数据结构。...Java虚拟机如果不检查输入字节流,对其完全信任的话,很可能会因为载入了有错误或有恶意企图字节码流而导致整个系统受攻击甚至崩溃,所以验证字节码是 **Java虚拟机保护自身** 一项必要措施。...直到 初始化阶段 ,Java虚拟机才 真正开始执行类中编写Java程序代码 ,将主导权移交给 应用程序 。...因此在Java虚拟机中第一个被执行()方法类型肯定是java.lang.Object。

    70800

    java虚拟机

    Java 虚拟机栈 每个 Java 方法在执行同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。...从方法调用直至执行完成过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈过程。...可以通过 -Xss 这个虚拟机参数来指定每个线程 Java 虚拟机栈内存大小: java -Xss512M HackTheJava 该区域可能抛出以下异常: 当线程请求栈深度超过最大值,会抛出 StackOverflowError...本地方法栈 本地方法栈与 Java 虚拟机栈类似,它们之间区别只不过是本地方法栈为本地方法服务。...Java 虚拟机使用该算法来判断对象是否可被回收,在 Java 中 GC Roots 一般包含以下内容: 虚拟机栈中局部变量表中引用对象 本地方法栈中 JNI 中引用对象 方法区中类静态属性引用对象

    81120

    Java 虚拟机Java对象内存布局

    文章收录地址:Java-Bang 专注于系统架构、高可用、高性能、高并发类技术分享 JVM 虚拟机.jpg 在 Java 程序中,我们拥有多种新建对象方式。...为了尽量较少对象内存使用量,64 位 Java 虚拟机引入了压缩指针 [1] 概念(对应虚拟机选项 -XX:+UseCompressedOops,默认开启),将堆中原本 64 位 Java 对象指针压缩成...总结和实践 今天我介绍了 Java 虚拟机构造对象方式,所构造对象大小,以及对象内存布局。...Java 虚拟机引入了压缩指针概念,将原本 64 位指针压缩成 32 位。压缩指针要求 Java 虚拟机堆中对象起始地址要对齐至 8 倍数。...Java 虚拟机还会对每个类字段进行重排列,使得字段也能够内存对齐。

    61960

    Java 程序员们值得一看好书推荐

    很多程序员们往往有看书冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书作者会加粗标红),其中绝大多数都是我自己平时在看书,也算是我对于平时读的书做一个小总结和读后感吧。...《HotSpot实战》 所有的Java虚拟机都是遵循着Java虚拟机规范来,市面上Java虚拟机几十款,《深入理解Java虚拟机:JVM高级特性与最佳实践》一书里面讲虚拟机并不针对某种特定虚拟机...,而是从Java虚拟机规范角度来讲解Java虚拟机。...由于没有看过这本书,所以我不好发表评论,但是从这本书知名度以及其作者来头来看(多提一句,这本书也是Java之父James Gosling博士推崇一本书),我相信这一定是一本值得一看好书。...后记 以上就是我推荐给Java开发者们一些值得一看好书

    71720
    领券