java -- 技术细节
TheSnowBoy_2
知乎:https://www.zhihu.com/people/wang-kang-84-84/activities
展开
-
多线程 -- 初学简单例子
多线程初学该模式是生产者--消费者模式。规定了两个任务内部类,Consumer 和Producer .Producer负责给 num 加1,Consumer 负责给num 减 1。run()方法只是负责任务,不负责启动。通过 new Thread(new Producer()) 将任务分配给线程。通过start()方法开启线程。Main 线程中有 线程Consumer 的实例consume原创 2016-07-01 22:52:20 · 1986 阅读 · 0 评论 -
java枚举 -- 基本使用
枚举概念枚举类型: 将一组具名的值得有限集合加以命名为一类,从而成为一种新的类型。注意: - java的一个核心思想 : 一切皆对象 - 有限的集合。 - 每个元素有名。 - 通过enum进行归类。 - 元素决定了该类型的取值空间,就像int类型是有范围 枚举使用代码实例(最常用情况):public class TestBacisEnum { //1.定义枚举原创 2016-10-06 00:00:24 · 606 阅读 · 0 评论 -
java类型 -- 拷贝
拷贝的基本含义 拷贝,也就是复制的意思。 体现在电脑里,也就是说在存储中产生一个与原对象相同的复制对象。 Java中与复制相关的一些规则 在java中拷贝是无处不在的。比如说,传参,返回值,赋值等等。 java出于效率的考虑,会 区分对待基本数据类型(int,double…),以及对象的拷贝。 注意: - 对于基本数据类型的拷贝代价是比较小的,所以可以直接复制值。 - 对于对原创 2016-10-06 11:11:53 · 721 阅读 · 0 评论 -
java IO -- 输出到文件
先将一个基本的关系图放在这里: 图片来源将控制台内容输出到文件PrintStream 从前面图中,处于流的继承包装的叶子端。(功能较全面) PrintStream需要注意 - PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。【此时换为printWriter】 - PrintStream 永远不会抛出 IOException。 例子1 效果: 将控制台输原创 2016-10-07 21:41:19 · 1964 阅读 · 0 评论 -
eclipse上 junit环境搭建
1.安装eclipse插件 1.下载eclipse的junit插件 下载地址: junit plugin 2.安装插件 将下载的文件放入,eclipse安装文件夹下的,plugins文件夹下。导入junit库 1.下载junit库。 包含:junit.jar org.hamcrest.core.jar 2.导入到工程中。 右击项目 –> Properties –> jav原创 2016-10-19 21:31:20 · 1482 阅读 · 0 评论 -
Java 1.5,1.6,1.7,1.8新特性
原文出处java1.5新特性1、自动装箱和拆箱功能(1)自动装箱和拆箱是由编译器帮助完成从基本数据类型和基本数据类型的包装类之间的转换。 ①基本数据类型:int,long,double,float,boolean,char,byte,short ②基本数据类型包装类:Integet,Long,Double,Float,Boolean,Character,Byte,Short转载 2016-12-01 15:00:15 · 1503 阅读 · 0 评论 -
java函数
java不支持默认参数事实上,”默认参数”与“函数重载”是存在二义性的。为了避免过于复杂的处理,所以就保存了“函数重载”这一项,而删除了“默认参数”。利用函数重载实现默认参数通过“函数重载” 可以实现“默认参数”。 实例代码:public class TestMethod { public static void change(String data){ change(原创 2016-10-05 21:11:23 · 1211 阅读 · 0 评论 -
java -- 字符串
基本介绍 字符串,符号或者数字的连续序列。(如:“abcde”, “10010011”) 【场景】在java操作中,与字符串相关的操作是常见的。(比如说,文件的解析,某个字符的识别等等) 常用的东西总是会被java封装起来,于是sun公司,将字符串的处理做了一些封装,一些基本的封装,这些封装粒度都是比较小的,但是通过组合这些方法,我们能够达到实现复杂功能的目的。 java中的字符串字符串的含义原创 2016-11-24 17:24:47 · 650 阅读 · 0 评论 -
java -- jar包信息查看
查看jar包的编译版本查看.jar包中的META-INF\MANIFEST.MFManifest-Version: 1.0Ant-Version: Apache Ant 1.8.2Created-By: 1.7.0_04-b20 (Oracle Corporation)原创 2016-12-05 11:38:29 · 2575 阅读 · 0 评论 -
java -- 如何记住"=="与equals的区别?
通俗的理解下面文字主要摘自:知乎问答 ==是看看左右是不是一个东西。equals是看看左右是不是长得一样。 术语来讲的区别: 1.==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相同 2.==是指对内存地址进行比较 equals()是对字符串的内容进行比较 3.==指引用是否相同 equals()指的是值是否相同 补充:原创 2016-11-27 18:21:45 · 849 阅读 · 0 评论 -
java -- 将int 转为二进制,再提取二进制中每一位信息
前言用二进制形式,表示事务的处理状态,是一个比较简单的做法,充分考虑了二进制的开关的性质。取二进制某一位: 0 代表未处理,1代表已经进行了处理。那么 7 转成二进制 111,那么其可以表示事物的3个方面,表示的状态为8个状态。很是节省空间,相对于用一些字符串来表示状态。但是,数字表示状态,不易让人去理解。java code: package tree.test原创 2016-07-08 16:58:40 · 27020 阅读 · 0 评论 -
java容器 -- list的总结
在我们的编程过程中,会遇到很多和容器类打交道的情况。这里就一些简单的常用的list相关的信息总结如下。原创 2016-09-18 08:40:04 · 608 阅读 · 0 评论 -
Java 类型 -- 基本数据类型
1.java中int和Integer的相互转换原文出处:自自由呼吸《 java中int和Integer的相互转换》int到Integer:int a=3;Integer A=new Integer(a);或:Integer A=Integer.valueOf(a);Integer到int:Integer A=new I转载 2017-02-07 14:27:25 · 610 阅读 · 0 评论 -
java -- hashcode相关的内容
一、java对象的比较等号(==): 对比对象实例的内存地址(也即对象实例的ID),来判断是否是同一对象实例;又可以说是判断对象实例是否物理相等; equals():对比两个对象实例是否相等。当对象所属的类没有重写根类Object的equals()方法时,equals()判断的是对象实例的ID(内存地址),是否是同一对象实例;该方法就是使用的等号(==)的判断结果,如Obj转载 2016-09-19 15:55:08 · 592 阅读 · 0 评论 -
java字符串 -- String,StringBuffer,StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2016-09-15 20:40:57 · 449 阅读 · 0 评论 -
java内部类 -- 基本的一些知识
内部类的基本概念内部类内部类,直观的理解就是,定义在另一个类中的类。内部类的作用 1- 代码组织,整合逻辑相关的代码。 2- 代码隐藏。 3- 可以表现内部类对于外部类之间的关系。(例如:(依赖关系) 某种形式的内部类只有在外部类对象存在的情况下,才能够被创造。) 4-内部类 能够 看到外部类的全部。 5- 外部类也可以看到内部类的私有成员。 (内部类,外部类就像一对夫妻) 内原创 2016-10-05 23:45:06 · 576 阅读 · 0 评论 -
java容器 -- 遍历Map中的内容
采取得到所有键值,然后再得到所有value值的方式。相关代码如下:public class MapTest { public static Map<Integer,String> entities =new HashMap<Integer, String>(); public static void main(String[] args) { entities.put(原创 2016-09-15 20:28:54 · 578 阅读 · 0 评论 -
多线程 -- 移动文件(生产者,消费者模式应用)
期待实现的效果:Thread producer 负责向 某文件夹 (GEXF_DIR)中写文件。(从ORIGIN_DIR 移动到 GEXF_DIR)Thread consumer 负责从GEXF_DIR中取出数据到GEXF_SAVED_DIR中。整体示意图如下:Thread producer中的流程:Thread consumer 流程图如下:原创 2016-07-03 11:48:55 · 661 阅读 · 0 评论 -
java -- 异常机制
摘自《代码阅读》前言异常机制可用来将 错误处理代码 从程序正常控制流中分离出来。java中异常是语言的一部分。能够沿着程序的词法和函数(或方法)的调用栈进行传播,并且可以结构化的方式进行处理。1.java异常处理代码组成部分try块中的一系列语句,发生异常可被捕获。0或者多个catch语句(clause),异常发生时将与之匹配。1个可选的finally子原创 2016-06-23 00:28:32 · 451 阅读 · 0 评论 -
java安装过程易出现问题(jdk,jre)
1. java中jdk与jrejdk(Java Development Kit 8) java开发工具集,用于编程时使用。jre (Java Runtime Environment) java运行时环境,没有运行时的环境,编写的java程序是无法在电脑上运行的。jdk中包含jre的内容,但是只是整合在了开发的程序中,而操作系统并不知道。 --> 若想让操作系统知道,需要在操作系统上面再加原创 2016-06-19 20:24:09 · 1696 阅读 · 0 评论 -
java -- 关于对象在内存中的相关说明
1.关于浅复制与深复制。(1)浅复制(浅克隆)被复制的对象A生成了一个新的对象B,这个新的对象B对应着一块新的内存,但是其内部成员的值与原来一致。但是这也就造成了这样一种情况,如果A中有着其他对象,A中的变量的名字只是存储的内存的引用。所以当浅克隆发生的时候,新对象B中的引用并没有变。 ----->也就是说,A,B中的成员对象变量都是指向了同一个对象。(2)深复制(深克原创 2016-09-11 11:45:27 · 483 阅读 · 0 评论 -
java -- java中调用GraphViz
java – java中调用GraphViz1.相关的代码转载 2016-09-14 19:06:04 · 3348 阅读 · 0 评论 -
Java 读写Properties配置文件
转自: http://www.cnblogs.com/xudong-bupt/p/3758136.html1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。2.Properties中的主要方法转载 2016-09-15 21:21:14 · 580 阅读 · 0 评论 -
java -- 判断一个对象所属于的类
使用java关键字 instanceof形式如下:if(obj instanceof ClassA){ System.out.println("this is ClassA~"); }更具体的实例:public class ClassTest { public static void main(String[] args) { Inter in = new B();原创 2016-09-17 21:13:28 · 2094 阅读 · 0 评论 -
java -- 传值与传引用
转自:http://blog.csdn.net/yangliuy/article/details/43230681最近刷题用递归解决关于树的问题的时候,在递归函数调用的时候什么时候传入值,什么时候传入引用有疑问,因为这关系到什么时候我们需要恢复现场,什么时候不需要。在网上搜索了一下,感觉这篇总结的非常简单明了,简而言之,基础数据类型(int,char,……)传值,对象类型(Object转载 2016-09-24 11:32:49 · 672 阅读 · 0 评论 -
java绘图 -- Dot语言小结
dot语言帮助文档官方网址: 帮助文档1.Dot语言简介DOT语言是一种文本图形描述语言。它提供了一种简单的描述图形的方法,并且可以为人类和计算机程序所理解。(摘自 维基百科) 注意: 1. dot在这里作为一种语言,是类似于java的一种语言,只不过这种语言是用来描述图形的。(从某种程度上来看,这是一种对于图形的符号化表示,将图形以字符串的形式表示出来) 2. Dot语言中,根据图形的原创 2016-09-14 21:10:45 · 2122 阅读 · 0 评论 -
java 绘图 -- dot基本使用
转自:原文地址dot 是一种绘图语言,它可以方便你采用图形的方式快速、直观地表达一些想法,比如描述某个问题的解决方案,构思一个程序的流程,澄清一堆貌似散乱无章的事物之间的联系……等等。总之,当你打算使用铅笔在纸上乱画一些圈圈框框并用一些带箭头的线将它们联系起来的时候,不妨考虑一下使用 dot 来完成这个工作。安装dot 是 graphviz 软件包的一部分,这个 graph转载 2016-10-16 13:56:09 · 3350 阅读 · 1 评论 -
java绘图 -- The DOT Language
文章转自 http://blog.csdn.net/xiajian2010/article/details/23746995缘起在学习著名的Graphviz的工具中dot时,看到这篇语言描述,不长,就翻译了一下。翻译方法依然是带监督的机器学习,可惜的就是这个监督是不可反馈的。正文1. IntroductionThe following is an abstract gr转载 2016-09-15 20:06:25 · 804 阅读 · 0 评论 -
java --内存溢出的问题
java 的内存溢出是一个非常恼人的问题,简要说说自己的理解。为什么内存溢出不容易发现?内存空间是有限的:你需要了解一下java的内存模型。事实上,电脑的内存是十分有限的,算上硬盘也不能无限量。所以java本身得到的内存可能也只是电脑内存的一部分。可能java做的稍微灵活一些,并不是分配固定的内存。而是可以动态变化的。但是操作体统不允许一个进程所占用的资源无限制的增长下去,ja原创 2016-07-24 17:18:18 · 506 阅读 · 0 评论 -
java回调机制
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过转载 2016-10-17 12:57:56 · 587 阅读 · 0 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
转自:原文位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public转载 2017-01-25 16:22:56 · 877 阅读 · 0 评论