转载:http://blog.csdn.net/zhangjg_blog/article/details/22432599 经过前八篇关于class文件的博客, 关于class文件格式的内容也基本上讲完了. 本文是关于class文件格式的最后一篇. 在这篇博客中, 将会讲解关于方法的几个属性. 理解这篇博客的内容, 对于理解JVM执行引擎起着重要作用. 关于虚拟机执行引擎有关的内容, 会在本专栏后面的博客中涉及. 在前面几篇博客中, 我们知道在class文件中描述一个方法, 会使用一个metho…
前情回顾 本专栏的前几篇博文, 对class文件中的常量池进行了详细的解释. 前文讲解了常量池中的7种数据项, 它们分别是: CONSTANT_Utf8_info CONSTANT_NameAndType_info CONSTANT_Integer_info CONSTANT_Float_info CONSTANT_Long_info CONSTANT_Double_info CONSTANT_String_info   关于这七种数据项, 前面的文章已经讲得很详细了, 不了解的同学请先参阅前面…
转载:http://blog.csdn.net/zhangjg_blog/article/details/21658415 前情回顾   在上一篇博客深入理解Java Class文件格式(三) 中, 介绍了常量池中的两种类型的数据项, 分别是 CONSTANT_Utf8_info CONSTANT_NameAndType_info . CONSTANT_Utf8_info中存储了几乎所有类型的字符串, 包括方法名, 字段名, 描述符等等. 而CONSTANT_NameAndType_info是方…
转载:http://blog.csdn.net/zhangjg_blog/article/details/21557357 首先, 让我们回顾一下关于class文件格式的之前两篇博客的主要内容. 在 深入理解Java Class文件格式(一) 中, 讲解了class文件在整个java体系结构中的位置和作用, 讲解了class文件中的魔数和版本号相关的信息, 并且对常量池进行了概述. 在 深入理解Java Class文件格式(二) 中, 主要讲解了class文件中的特殊字符串, 包括类的全限定名,…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第九十九章:局部内部类与继承详解 下一章 "全栈2019"Java第一百章:局部内部类可以实现接口吗? 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十九章:数组详解(中篇) 下一章 "全栈2019"Java第三十章:数组详解(下篇) 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组"…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第十九章:关系运算符.条件运算符和三元运算符 下一章 "全栈2019"Java第二十章:按位与.按位或.异或.反码.位运算 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&qu…
Java集合(九)哈希冲突及解决哈希冲突的4种方式 一.哈希冲突 (一).产生的原因 哈希是通过对数据进行再压缩,提高效率的一种解决方法.但由于通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值.这时候就产生了哈希冲突. (二).因素 装填因子(装填因子=数据总数 / 哈希表长): 哈希函数: 处理冲突的方法. (三).解决哈希冲突的4中方式 开放地址法:再哈希法:链地址法(拉链法):公共溢出区法. 二.开放地址法 开放地址法处理冲突的基本…
作者:X Wang 出处:http://www.programcreek.com/2013/09/top-10-methods-for-java-arrays/ 转载文章,转载请注明作者和出处 The following are top 10 methods for Java Array. They are the most voted questions from stackoverflow. 0. Declare an array String[] aArray = new String[5…
转载:http://blog.csdn.net/zhangjg_blog/article/details/22205831 在本专栏的第一篇文章 深入理解Java虚拟机到底是什么 中, 我们主要讲解了什么是虚拟机, 这篇博客是对JVM的一个概述. 在随后的几篇文章中,一直在讲解class文件格式. 在今天这篇博客中, 将会继续讲解class文件中的其他信息. 在本文中, 将会讲解class文件中的最后一部分, 属性(attributes) . 这里的属性和源文件中的属性不是一个概念. 在源文件中…
10个使用Java最广泛的现实领域 如果你是一个初学者,刚刚开始学习Java,你可能会想Java有什么用呢?除了Minecraft貌似也看不到其他用Java写的游戏,像Adobe Acrobat和Microsoft Office等桌面工具也不是用Java写的,甚至Linux和Windows操作系统也和Java无关,那么到底什么时候才需要用Java呢? 毋需纠结,很多程序员都有这个困惑,或在学Java之前或已经到了语言学习的一定程度.顺便说一句,我们可以通过在桌面安装Java来得到有关Java使用…
转载:http://blog.csdn.net/zhangjg_blog/article/details/22091529 本专栏列前面的一系列博客, 对Class文件中的一部分数据项进行了介绍. 本文将会继续介绍class文件中未讲解的信息. 先回顾一下上面一篇文章. 在上一篇博客中, 我们介绍了: this_class    对当前类的描述 super_class    对当前类的超类的描述 interfaces_count    当前类直接实现的接口的数量或当前接口直接继承的接口的数量 i…
转载:http://blog.csdn.net/zhangjg_blog/article/details/21888943 经过前几篇文章, 终于将常量池介绍完了, 之所以花这么大的功夫介绍常量池, 是因为对于理解class文件格式,常量池是必须要了解的, 因为class文件中其他地方,大量引用了常量池中的数据项.  对于还不了解常量池的读者, 如果想要深入了解class文件格式, 或者想继续读这篇博客和本专栏以后的博客, 那么我建议先把我前面的几篇博客读一下,把常量池的结构熟悉一下, 对于理解…
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/21487287 在上一篇文章 深入理解Java Class文件格式(一) 中, 介绍了class文件在整个Java体系结构中的位置和作用, 并对class文件的整体格式做了说明, 介绍了其中的魔数和版本号的相关内容, 并对常量池做了概述. 在本文章, 继续介绍class文件中的其他内容. class文件中的特殊字符串   首先说明一下, 所谓的特殊字符串出现在class文件中的常量池中…
本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE sudo apt-get install openjdk-7-jre-headless sudo apt-get install openjdk-7-jdk 验证jdk安装是否成功: 在终端执行命令: java –version 如果终端显示: java version "1.7.0_25"…
(Sorry for that click-bait heading. Couldn’t resist ;-) ) We’re on a mission. To teach you SQL. But mostly, we want to teach you how to appreciate SQL. You’ll love it! Getting SQL right or wrong shouldn’t be about that You’re-Doing-It-Wrong™ attitude…
Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再赋给i ++j 与 j++ 也没什么区别,将j的值加1后,再赋给j 但在这里, i++ 与 ++i 是有区别的 输出结果为什么是1,考虑一下 初始的时候 i=1, 那么加1后,i 为什么还是1 首先需要说明的是,i=i++ 包含赋值运算(=) 自增运算(++) 其中,自增运算(++)的优先级要高于赋…
macOs升级到10.13.1Beta || JAVA升级到最新版之后PhpStorm菜单栏会消失,估计不止出现在PhpStorm,一系列jetbrains的产品可能都会有这个问题,包括eclipise. 解决的办法是: " I also did lost, here's what I did to temporarily fix the problem: Open/Create a new file ~/idea.properties with the following line: appl…
java多线程系列(九)---ArrayBlockingQueue源码分析 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 java多线程系列(三)之等待通知机制 java多线程系列(四)之ReentrantLock的使用 java多线程系列(五)之synchronized ReentrantLock volatile Atomic 原理分析 java多线程系列(六)之线程池原理及其使用 java多线程系列(七)---Ca…
20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王志强 日期:2018.10.19 必修/选修:必修 目录 测试内容 测试要求 实验步骤 需求分析 相关知识 实现及解释 错误分析 参考资料 测试内容 三种查找算法练习: 给定关键字序列:11,78,10,1,3,2,4,21,试分别用顺序查找 .折半查找 .散列查找 (用线性探查法和链地址法)来实现查找.试画…
20172319 2018.10.12 <Java程序设计教程>第6周课堂测验 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王志强 日期:2018.10.12 必修/选修:必修 目录 测试内容 测试要求 实验步骤 需求分析 代码实现及解释 程序运行结果及代码截图 测试过程及遇到的问题 代码链接 参考资料 测试内容 已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少?…
令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作.不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个.程序员有各种各样的机会,运用他们的技能去做一些有趣的事情,特别是如果他们懂Java的话. Java也许是时下雇主中最流行的语言,这意味着有很多很多不同的工作可供选择.只要稍微用心找一找,你就会发现一个能让你的生活快乐起来,让你愿意一大清早开开心心去上班的工作.当然,青菜萝卜各有所爱,这个人的感兴趣,可能是另一个人的不以为然.所以下面让我们来看…
这里列举了Java Array 的前十的方法.他们在stackoverflow最大投票的问题. The following are top 10 methods for Java Array. They are the most voted questions from stackoverflow. 0.声明一个数组 0. Declare an array String[] aArray = new String[5]; String[] bArray = {"a", "b&…
Java IO(九)FilterInputStream 和 FilterOutputStream 一.介绍 FilterInputStream 和 FilterOutputStream 是过滤字节输入流和过滤字节输出流.它们的作用是封装其他的基础流,并为它们提供额外的功能.它们的子类分别有: 缓冲流:BufferedInputStream 和 BufferedOutputStream 数据流:DataInputStream 和 DataOutputStream 回退流:PushBackInput…
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/21486985 Class文件在Java体系结构中的位置和作用 在上一篇博客中, 大致讲解了Java虚拟机的体系结构和执行原理. 本篇博客主要讲解能够被JVM识别, 加载并执行的class文件的格式. 对于理解JVM和深入理解Java语言, 学习并了解class文件的格式都是必须要掌握的功课. 原因很简单, JVM不会理解我们写的Java源文件, 我们必须把Java源文件编译成clas…
转:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions display 远程debug 最早开始用eclipse的debug的时候,只会F5 F6 F7 F8,甚至F7都不是很搞的明白是怎么用的,那时候资浅,碰不到需要复杂debug的代码,慢慢工作深入了,场景碰多了,就需要各种debug技巧来提升定位bug效率,以前找人帮忙排查问题,看他开各种窗口deb…
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅! 在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来很多方便.在本文中使用的是Eclipse Juno版(Eclipse 4.2),在开始前给大家提3点建议: 不要使用System.out.println作为调试工具 把所有涉及到的组件日志级别激活…
多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承.有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要思考的不是怎么使用多重继承,而是您的设计是否存在问题.但有时候我们确实是需要实现多重继承,而且现实生活中也真正地存在这样的情况,比如遗传:我们即继承了父亲的行为和特征也继承了母亲的行为和特征.可幸的是Java是非常和善和理解我们的,它提供了两种方式让我们曲折来实现多重继承:接口和内部类. 一. 接…
这篇文章总结了十个经常被问到的JAVA异常问题: 1.检查型异常VS非检查型异常 简单的说,检查型异常是指需要在方法中自己捕获异常处理或者声明抛出异常由调用者去捕获处理: 非检查型异常指那些不能解决的异常,如除0,空指针等: 检查型异常非常重要,因为你希望使用你API接口的人知道如何处理这些异常: 举个例子,IOException是非常常见的检查型异常,RuntimeException是非检查型异常: Java的异常层级关系图如下: 2.异常管理最佳实践 如果一个异常当前能够被恰当的处理,那么应…
String in Java is very special class and most frequently used class as well. There are lot many things to learn about String in Java than any other class, and having a good knowledge of different String functionalities makes you to use it properly. G…