![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
八戒爱飘柔
Tech、Friend、Love
展开
-
Java覆盖的规则
override->重写(=覆盖)、overload->重载、polymorphism -> 多态 override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则: 1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载. 2、重写方法的访问修饰符一定要大于被重写方转载 2015-04-15 21:45:12 · 485 阅读 · 0 评论 -
Java基础-几种常见排序算法总结
代码如下:[java] view plaincopy/*************几种常见的排序算法总结***************************/ package paixu; public class PaiXu { final int MAX=20; int num[]=ne转载 2015-04-19 20:33:32 · 318 阅读 · 0 评论 -
Java基础-匿名内部类总结
匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法12345678910111213原创 2015-04-20 16:25:06 · 304 阅读 · 0 评论 -
Java基础--BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个转载 2015-05-15 14:05:09 · 306 阅读 · 0 评论 -
Java 基础 ——AtomicInteger( 线程安全)
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。来看AtomicInteger提供的接口。//获取当前的值public final int get()//取当前的值,并设置转载 2015-05-15 14:38:10 · 2191 阅读 · 0 评论 -
BeanUtils的用法
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。1.属性的动态getter,setter在这框架满天飞的年代,不能事事都保证执行getter,setter函数了,有时候属性是要需要根据名字动态取得的,就像这样: BeanUtils.getProper转载 2015-06-18 19:23:39 · 308 阅读 · 0 评论 -
Apache Common下的工具类介绍
更多信息,请参考:http://www.cxyeye.com/一、Commons BeanUtils说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。二、Commons CLI说明:这是一个处理命令的工具。比如main方法输入的string[]需要解析。你可以预先定义好参数的规则,然后就可以调用CL转载 2015-07-11 14:37:52 · 608 阅读 · 0 评论 -
Java集合类-ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅转载 2015-07-22 13:36:34 · 406 阅读 · 1 评论 -
Java NIO 与 Tomcat 原理理解
源链接:http://m.oschina.net/blog/163549tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。1)bio默认的模式,性能非常低下,没有经过任何优化处理和支持.2)nio利用java的异步io护理技术,no转载 2015-12-11 11:47:17 · 1626 阅读 · 0 评论 -
Java 多线程的两种实现方式
这篇文章写的很通俗,看看还是有启发的。http://blog.csdn.net/jspamd/article/details/5262894原创 2015-11-19 21:36:51 · 306 阅读 · 0 评论 -
Java Lock
java Lock接口可弥补synchronized的不足。 从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺陷讲起,然后再讲述原创 2015-11-26 20:36:18 · 497 阅读 · 2 评论 -
Java多线程面试问题汇总(深入理解篇)
非常不错的一篇文章,有新的收获:http://www.ituring.com.cn/article/177182写在前面这篇文章是根据15个顶级Java多线程面试题及回答中所列问题在网上找的答案汇总。或许某些解答不尽如人意,欢迎大家来补充和指正。另外感谢这篇帖子的翻译者赵峰以及所有在网络上分享问题答案的朋友们~~1. 有T1、T2、T3三个线程,如何怎样保证T2在T1执转载 2015-12-02 19:35:40 · 791 阅读 · 0 评论 -
debug jdk source can't watch variable what it is
源地址:http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-isGenerally speaking, to be able to watch the variables while stepping through JDK source code, y转载 2015-12-07 16:24:24 · 387 阅读 · 0 评论 -
Java基础-子父类构造函数、静态变量(代码块)、普通变量的调用顺序
子父类构造函数、静态变量(代码块)、普通变量的调用顺序 创建子类的时候,先检查父类是否有静态的属性,如果有,则先调用静态属性的语句,然后检查子类是否也有静态类型属性,有,则调用子类的静态类型,然后在调用父类普通变量,构造函数,然后才是子类的普通属性,构造函数。顺序是:父类静态子类静态父类属性父类构造函数子类属性子类构造函数 注意:如原创 2015-04-19 10:21:39 · 342 阅读 · 0 评论 -
Java 内部类的初始化
[java] view plaincopypublic class InnerClassTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated metho原创 2015-04-18 18:29:25 · 569 阅读 · 0 评论 -
StringBuilder与StringBuffer的区别(转)
相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类。String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,可变和不可变类这一对对象已经齐全转载 2014-08-27 19:25:31 · 316 阅读 · 0 评论 -
获取Map集合中数据的方法
写了这么多Java程序,从来就没有过要获得Map中所有key,value值的需求,被人家一问就蒙了完全不知道啊。再说这也不是多难的东西,看来程序写的太少了。importjava.util.HashMap;importjava.util.Iterator;importjava.util.LinkedHashMap;import原创 2015-04-11 18:16:26 · 514 阅读 · 0 评论 -
正则式学习备忘
1,正向预搜索 正向预搜索:"(?=xxxxx)","(?!xxxxx)" 格式:"(?=xxxxx)",在被匹配的字符串中,它对所处的 "缝隙" 或者 "两头" 附加的条件是:所在缝隙的右侧,必须能够匹配上 xxxxx 这部分的表达式。因为它只是在此作为这个缝隙上附加的条件,所以它并不影响后边的表达式去真正匹配这个缝隙之后的字符。这就类似 "/b",本身不匹配任何字符。转载 2014-09-15 14:17:06 · 424 阅读 · 0 评论 -
switch语句中的Fall-through、静态导入
写了2年代码,发现在Java中盲点知识还真不少,活到老学到老,不能大意啊,现在记录下来!1、switch语句中的Fall-through 今天看到switch语句中可能发现Fall-through现象,一时不明白是什么意思,就学习了一下,下面代码中的第二个switch就发现了Fall-through现象。 代码:public clas原创 2015-04-18 18:43:24 · 2034 阅读 · 0 评论 -
Java反射原理
一、什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提 出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中 LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。最近,反射机制也被应用到了视转载 2015-04-12 22:15:39 · 349 阅读 · 0 评论 -
Java集合总结
先上图来个直观的印象~·~ 有序否允许元素重复否Collection否是List是是SetAbstractSet否否HashSetTreeS原创 2015-04-10 10:50:54 · 309 阅读 · 0 评论 -
Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能步骤1:准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclient-3转载 2015-03-13 13:59:06 · 533 阅读 · 0 评论 -
Java 反射机制实例
反射机制可调用类的私有变量、私有方法。在Junit测试中很好使。public void testProblemManageProcess021() { try { Alarm alarm = getAlarm("Alarms_0080001" , 2); S2NMAL0080001Blogic logic = new S2NMAL008原创 2015-03-04 18:06:02 · 378 阅读 · 0 评论 -
JSON解析
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别。下面接着介绍用org.json构造和解析Json数据的方法示例。 用json-lib构造和解析Json数据的方法详解请参见我上一篇博文:Java构造和解析Json数据的两种方法详解一一、介绍 org.j转载 2014-09-25 15:00:52 · 404 阅读 · 0 评论 -
Java基础-equals 与 == 区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否转载 2015-04-18 22:55:30 · 306 阅读 · 0 评论 -
完整java开发中JDBC连接数据库代码和步骤
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。 例如: try{ //加载MySql的驱动类原创 2015-03-30 08:30:22 · 303 阅读 · 0 评论 -
Java多态性理解
ava中多态性的实现什么是多态**面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型原创 2015-02-13 11:34:41 · 637 阅读 · 0 评论 -
Java线程同步:synchronized锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:[java] view plaincopy转载 2014-10-11 14:12:37 · 416 阅读 · 0 评论 -
文件操作总结
getResourceAsStream和getResource的用法及Demo实例用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大家最经常用的,就是用JAVA的File类,如要取得 D:/test.txt文件,就会这样用File file = newFile(“D:/test.txt”);这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来转载 2016-11-04 18:41:25 · 364 阅读 · 0 评论