自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Java多线程学习(九)

线程组和线程池的初步了解1.线程组threadgroup 可以对一批线程进行分类管理,java允许程序直接对线程进行控制,在默认情况下所有的线程都属于主线程public class lock { public static void main(String[] args) { ThreadGroup tg = new ThreadGroup("我是线程组"); ...

2018-09-21 23:01:45 121

原创 Java多线程学习(八)

互斥锁Java 提供了两种互斥锁用来解决在共享资源时存在的并发问题一种方式是提供synchronized 关键字,当任务要执行被synchronized 关键字保护的代码片段的时候,它会检查所可用,然后获取锁,执行代码,释放锁。第二种就是互斥锁,它属于reentrantlock类它的lock(获取锁)与unlock(释放锁)的方法也可以实现同步reentrantlock r =...

2018-09-21 22:43:20 114

原创 Map集合HashMap双层嵌套

HashMappublic class hashmapinside { public static void main(String[] args) { HashMap<student,Integer> map1 = new HashMap<>(); map1.put(new student("胡博士", 19), 1); map1.put(ne...

2018-09-17 15:36:29 1269

原创 Map集合的学习案例

案例:输入字符串,输出其中包含的字符和它们的个数例如:aaabbbccc代码:public class stringnumber { public static void main(String[] args) { //实现输入一个字符串,判断其中出现的字符和其个数 System.out.println("输入字符串:"); Scanner sc = new Sca...

2018-09-17 15:19:30 397

原创 Java的private关键字

private关键字可以修饰成员变量和成员方法被其修饰的成员只能在本类中被访问应用:在定义类时给成员变量赋值private,并提供get和set方法用于外部访问,这样可以提高数据的安全性public class pritry { private int age ; private String name ; public int getAge() { return age...

2018-09-16 18:56:40 11885

原创 Java内部类(一)

内部类在类中定义类内部类的访问特点:a.内部类可以直接访问外部类的成员,包括私有b.外部类要访问内部类的成员,必须创建对象public class book { String k = "外部"; book.mybook a = new book.mybook();//外部类名.内部类名 对象名 = new 外部类名.内部类名(); public void r...

2018-09-16 18:34:33 101

原创 Java抽象类与接口(一)

抽象类抽象就是看不懂的1.特点:a.抽象类与抽象方法须用abstract关键字修饰b.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或接口c.抽象类不能被实例化,作为子类的模板或者超类出现d.抽象类的子类要么是抽象类,要么重写抽象类中的所有抽象方法抽象类的成员特点a.成员变量 既可以是变量,也可以是常量,但abstract不能修饰成员变量b. 构造方法 有...

2018-09-16 17:14:03 104

原创 Java继承复习(一)

继承继承中成员变量的关系,依据就近原则,子类中有该成员变量时,使用子类的,没有则使用父类的;继承中的成员方法:a.不同名方法b.同名方法:优先会使子类的方法(重写/覆盖)关于方法的重写:子父类出现了一模一样的方法应用:当子类需要父类的功能,而功能主体子类有自己的特有内容,可以重写父类中的方法注意:父类中的私有方法无法被重写子类重写的父类方法,访问权限不能更低...

2018-09-16 16:46:03 152

原创 Java中的final关键字学习(一)

final关键字1.修饰类,类无法被继承但是要注意被final修饰类中的所有成员方法都会被隐式地指定为final方法 2.修饰方法,此方法就无法被重写注:类的private方法会隐式地被指定为final方法3.修饰变量  变量就成了常量,只能被赋值一次对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其...

2018-09-16 16:17:05 174

原创 Java的static关键字学习(一)

static关键字基本作用简言之就是:方便在没有创建对象的情况下来进行调用(方法/变量)被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问(1)static方法“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static...

2018-09-16 15:58:27 122

原创 Java反射机制学习(一)

1.反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.2.获取class...

2018-09-11 12:31:41 764

原创 Java多线程学习(七)

两个线程间通信1.什么时候需要通信多线程并发执行时,在默认情况下CPU是随机切换线程,如果我们希望他们有规律执行,需要使用通信2.怎么通信希望线程等待用wait()唤醒等待的线程用notify()这两个方法必须在同步代码块中执行,且使用对象锁来调用package javastudy01;public class notify { public static v...

2018-09-10 18:31:29 141

原创 Java多线程学习(六)

多线程的单例设计模式目标:保证类在内存中只有一个对象实现方法:1.控制类的创建,不让其他类创建本类的对象 private2.在本类中定义一个本类的对象 singleton s3.提供公共的访问方式Public static singleton getInstance(){return s}单例写法:(1)饿汉式package javastudy01;publi...

2018-09-10 17:51:54 129

原创 Java多线程学习(五)

死锁(Deadlock)多线程同步时,如果同步代码嵌套,使用相同锁,会出现死锁package javastudy01;public class Deadlock extends Thread { private static String s1 = "1"; private static String s2 = "2"; public static void mai...

2018-09-10 16:48:33 145

原创 Java多线程学习(四)

线程安全问题讨论1.多线程并发操作同一数据时,就可能出现线程安全问题2.使用同步技术解决,把操作数据的代码进行同步,不要多线程一起操作案例:铁路售票,一共100张票,四个窗口进行售票问题案例:package javastudy01;public class saleticket extends Thread{ //问题1 //private int ticke...

2018-09-10 16:23:58 196

原创 Java多线程学习(三)

1.多线程同步代码块1.什么情况下需要同步(1)当多线程并发,有多段代码同时执行时,希望某一段代码执行过程中CPU不切换到其他的线程上工作,此时需要同步(2)如果两段代码是同步的,那么同一时间只能执行一段代码,在一段代码执行完成前,CPU不会去执行另一段代码2.同步代码块使用synchronized关键字加上一个锁对象来定义一段代码,多个同步代码块如果使用相同的锁对象,那么他们...

2018-09-10 14:40:25 165

原创 Java多线程学习(二)

1.线程的一些常用方法package javastudy01;class MyThread extends Thread { //重写Run方法 public void run(){ //1.获取当前线程的名字 System.out.println(this.getName()+"我是一个线程."); } public static void ma...

2018-09-10 12:12:56 883

原创 Java多线程学习(一)

1.线程的理解   线程是程序执行的一条路径,一个进程可以包含多条线程   多线程并发执行可以提高效率2.多线程原理同一时间内,CPU只能处理1条线程,只有1条线程在工作(执行);多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)。如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象。思考:如果线程非常非常多,会发生什么情况?CPU会在N多线程之间...

2018-09-10 11:14:28 304 1

空空如也

空空如也

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

TA关注的人

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