自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 数组定义的三种方式

//数组定义的三种方式      //第一种      int []a = newint[5];//    a[0] = 10;            //第二种      int []c = newint[]{1,2,3};      //第三种      int []i ={1,2,3,4};      //错误的写法  

2017-06-26 09:24:02 50750

原创 判断是否是质数

判断一个数是否是质数:publicclass IsZhiShu {   publicstaticvoid main(String[]args) {      judge(1);   }    publicstaticvoid judge(inta){      intcount = 0;      for(inti =1;ia;i++){        if

2017-06-26 09:21:55 564

转载 25岁就死了,75才埋,程序员们的中年危机:有点懵

25岁就死了,75才埋,程序员们的中年危机:有点懵转载自:http://www.techug.com/post/coders-midlife-crisis.html科技公司裁撤中年技术员工的传闻,每隔一段时间就会在网上弥漫、发酵。程序员们有点懵。十年前,当他们踏着高考重点录取线,走进大学计算机院系的时候,想象的而立生活一定不是这样的。于南发现,最近连老家的中学同

2017-06-21 20:18:53 2290 2

原创 Enumation和Iterator的区别

在之前的集合中我们使用了两种不同的迭代器分别对不同的结合进行了遍历,分别是Enumation迭代器和Iterator迭代器。二者有什么区别呢?首先二者都是java.util工具包下的接口,二者的代码如下:Enumeration: public interface Enumeration {   booleanhasMoreElements

2017-06-07 12:19:14 1125

转载 Hashtable和HashMap分析

转载自:http://www.cnblogs.com/xinzhao/p/5644175.html特别喜欢签名的那句话: As a programmer, I hate to use things I don't understand.作为一个编程者,我希望对使用的东西知根知底。HashMap和HashTable有什么不同?在面试和被面试的过程中,我问过也被问过这个问题,也见过

2017-06-07 10:43:30 317

原创 局部内部类访问局部变量

为什么局部内部类对象访问局部变量时要加final关键字?说到底是因为生命周期的不同。局部内部类需要GC调用才能回收,而局部变量在对应的栈帧出栈即被抛弃。因此有可能还存在的局部内部类对象去访问一个根本已经不存在的局部变量,这是不被允许的情况。因此,无奈之下,只能加上final关键字来修饰局部内部类对象调用的局部变量。在1.8版本的jdk中不需要添加fianl关键字了,但是只是假象

2017-06-07 10:30:34 671

原创 ThreadLocal线程本地变量

package cn.liz.threaddemo;// ThreadLocal 与 绑定 解决同一个线程内的数据共享问题// 将数据拷贝一份到线程中 ,因此 线程 之间的数据互不影响 public class ThreadLocalTest { private static ThreadLocal local = new ThreadLocal(); public s

2017-06-02 23:38:17 265

原创 单例模式--锁优化

package cn.liz.threaddemo;public class Single { private Single(){ } private static Single single; // 如果不加锁 ,那么 结果得到的对象不是用一个 public static /*synchronized */Single getInstance1(long time) thr

2017-06-02 23:12:58 739

原创 线程--死锁

当我们为了线程安全而加锁的时候,可能一不注意就造成了死锁。比如下面这样:package cn.liz.threaddemo;public class ThreadDeadlock{ public static void main(String[] args) { Object obj1 = new Object(); Object obj2 = new Objec

2017-06-02 22:49:22 232

原创 什么是线程

// 线程总结:/** 三种创建方式:* 什么是线程 : 程序的多个执行路径 ,改变了程序顺序执行的特点,可以多条线共同执行,实际是模拟的并行* 那么既然是并发,就存在线程安全问题,即同时访问同一份数据* 因此就要保证要访问的数据的安全性* 涉及到 锁!!!* synchronized * 同步块 (引用类型|.class类|) | 同步方法 加在方法上* 注意

2017-06-02 22:39:09 253

原创 单例模式--静态内部类

静态内部类是一个很好的实现单例的方式:看代码:package cn.liz.syn;public class StaticInner { // 私有化 构造器 private StaticInner(){ } // 私有的静态内部类 private static class Inner{ static StaticInner single = new St

2017-06-02 20:17:20 340

原创 懒汉式

懒汉式:不在类加载的时候创建对象,什么时候调用获取对象的方法,什么时候再返回该类的对象。节省空间。为了防止多线程下创建该类的多个对象,要加锁。我们采用的是双重检测锁:package cn.liz.syn;public class FullSingleTon { //私有化构造器 private FullSingleTon(){ } // 类初始化的时候不创建该类的

2017-06-02 20:08:54 442

原创 单例模式--饿汉式

单例模式就是保证在程序中只有一个该类的对象:饿汉式:类加载的时候就创建。代码体现:package cn.liz.syn;public class SingleTonPattern { // 私有 构造器 禁止外部实例化对象 private SingleTonPattern(){ } // 静态的私有对象 private static SingleTonPattern si

2017-06-02 19:57:45 810

原创 线程的小问题

看一个问题,匿名内部类和重写的问题:public class Test01 { public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { System.out.println("传入的实现Runnable接口的类");

2017-06-02 19:44:18 204

原创 线程的三种创建方式

public class Web12306 { public static void main(String[] args) throws InterruptedException, ExecutionException { // 方式 1 继承Thread类,重写run方法 ThreadTest01 test01 = new ThreadTest01(); test01.

2017-06-02 17:19:31 258

原创 java集合继承关系图

面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。数组虽然也可以存储对象,但长度是固定的;集合长度是可变的,因为内部实现了自动扩容;数组中可以存储基本数据类型,集合只能存储对象。集合如果再存放对象的时候存放的是基本类型,那么会发生自动装箱,以对应的基本类型的包装类存入集合中。集合可以存储不同类型的对象,但是我们使用集合的

2017-06-02 10:22:39 932

原创 Vector与Stack容器

LinkedList 底层是链表Vector底层也是数组,和ArrayList一样,不同的是Vector是线程安全的,Vector有自己独特的遍历方式。Vector vector = new Vector(); vector.add("周杰伦"); vector.add("周杰"); vector.add("周亚伦");// 和迭代器遍历相似 Enumeration接口 E

2017-06-02 09:59:02 352

原创 TreeSet排序规则

TreeSet在存放对象元素的时候就会排序。因此在存放完之后,对结合中的元素进行修改,那么修改也不会影响原先的排序。如果存放进去的对象没有实现 Comparable接口就会抛出异常。直接上代码:public class MusicBoxTest02 { public static void main(String[] args) { MusicBox box1 = new Musi

2017-06-01 20:47:10 928

原创 HashSet的去重问题

HashSet的去重问题:我们知道HashSet在存放对象的时候会判断对象时候是同一对象。默认引用类型比较的是地址值,如果地址值相同,那么这是一模一样的对象,那么判断肯定是同一对象,就不再重复的往里放。如果对象重写了hashcode和equals方法,就比较这二者是否相等。如果hashcode相等,那么比较equals方法,如果equals再相等,那么证明这是同一个对象;如果equals

2017-06-01 20:37:30 7317

原创 集合的遍历方式

Set集合的遍历方式:Set集合无序,不可重复。import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class HashSetTest { public static void main(String[] args) { Set set = new HashSet(

2017-06-01 19:42:14 191

原创 Properties类

Properties  :继承自Hashtable要求键和值都必须是字符串,都不能为空Properties一般用于读取配置文件,如.properties结尾的配置文件。配置文件如:注意:配置文件中间不要用空格。例如:username    =    lss步骤如下:Properties pro =new Properties();Pro.load(“路径

2017-06-01 19:37:48 368

原创 hashcode和equals重写规则

HashSet  HashSet底层是HashMap实现的。因此HashSet无序不可重复,也就意味着存放到HashSet中的对象元素是经过排序比较的。如何比较呢?1.HashMap底层是根据hashcode和equals来存放对象的。2.我们知道Object父类中的hashcode方法默认返回的是对象的地址值,因此如果不重写hashcode,那么默认比较的是存放到集合中的对象

2017-06-01 16:01:21 2575

原创 阶乘之和

package cn.liz.test01;public class Demo02 { public static void main(String[] args) { // 调用第一种方式求阶乘  getJie(); int sum = 0; for(int i =1;i<=10;i++){ sum+=ge

2017-06-01 14:57:11 254

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除