草庐IT

day33-线程基础03

线程基础036.用户线程和守护线程用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束。平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程守护线程(Daemon):一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束常见的守护线程:垃圾回收机制例子1:如何将一个线程设置成守护线程packageli.thread.method;publicclassThreadMethodExercise{publicstaticvoidmain(String[]args)throwsInterruptedException{MyDaemonThreadmyDae

day33-线程基础03

线程基础036.用户线程和守护线程用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束。平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程守护线程(Daemon):一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束常见的守护线程:垃圾回收机制例子1:如何将一个线程设置成守护线程packageli.thread.method;publicclassThreadMethodExercise{publicstaticvoidmain(String[]args)throwsInterruptedException{MyDaemonThreadmyDae

day03-应用线程01

JavaGUI-坦克大战037.线程的应用017.1坦克子弹发射思路在坦克大战2.0基础上添加如下功能:当玩家按下j键,就发射一颗子弹。思路:当发射一颗子弹后,就等于启动了一个线程Hero类要有子弹的对象,当按下j键时,我们就启动一个发射行为(线程),让子弹不停地移动,形成一个设计的效果我们的MyPanel需要不停地重绘,才能出现该效果当子弹移动到面板边界时,就应该销毁(把启动的子弹的线程销毁)7.2我方发射子弹1.创建子弹类Shot:实现Runnable接口,创建线程,在run方法中用while循环不停地改变子弹坐标,实现子弹射出的效果packageli.TankGame.version03

day03-应用线程01

JavaGUI-坦克大战037.线程的应用017.1坦克子弹发射思路在坦克大战2.0基础上添加如下功能:当玩家按下j键,就发射一颗子弹。思路:当发射一颗子弹后,就等于启动了一个线程Hero类要有子弹的对象,当按下j键时,我们就启动一个发射行为(线程),让子弹不停地移动,形成一个设计的效果我们的MyPanel需要不停地重绘,才能出现该效果当子弹移动到面板边界时,就应该销毁(把启动的子弹的线程销毁)7.2我方发射子弹1.创建子弹类Shot:实现Runnable接口,创建线程,在run方法中用while循环不停地改变子弹坐标,实现子弹射出的效果packageli.TankGame.version03

day03-Spring管理Bean-IOC-01

Spring管理Bean-IOC1.Spring配置/管理bean介绍Bean管理包括两方面:创建bean对象给bean注入属性Bean的配置方式:基于xml文件配置方式基于注解配置方式2.基于XML配置bean2.1通过类型来获取bean通过id来获取bean在Spring基本介绍中已经使用过,这里不再赘叙案例说明:通过spring的ioc容器,获取一个bean对象(说明:获取bean的方式:按类型)完成步骤:创建一个Java对象Monster.java在beans.xml中配置Monster.java:packagecom.li.bean;/***@author李*@version1.0*

day03-Spring管理Bean-IOC-01

Spring管理Bean-IOC1.Spring配置/管理bean介绍Bean管理包括两方面:创建bean对象给bean注入属性Bean的配置方式:基于xml文件配置方式基于注解配置方式2.基于XML配置bean2.1通过类型来获取bean通过id来获取bean在Spring基本介绍中已经使用过,这里不再赘叙案例说明:通过spring的ioc容器,获取一个bean对象(说明:获取bean的方式:按类型)完成步骤:创建一个Java对象Monster.java在beans.xml中配置Monster.java:packagecom.li.bean;/***@author李*@version1.0*

day05-Spring管理Bean-IOC-03

Spring管理Bean-IOC-032.基于XML配置bean2.15bean的生命周期bean对象的创建是由JVM完成的,然后执行如下方法:执行构造器执行set相关方法调用bean的初始化方法(需要配置)使用bean当容器关闭时,调用bean的销毁方法(需要配置)例子House:packagecom.li.bean;/***@author李*@version1.0*/publicclassHouse{privateStringname;publicHouse(){System.out.println("House()构造器被执行...");}publicStringgetName(){re

day05-Spring管理Bean-IOC-03

Spring管理Bean-IOC-032.基于XML配置bean2.15bean的生命周期bean对象的创建是由JVM完成的,然后执行如下方法:执行构造器执行set相关方法调用bean的初始化方法(需要配置)使用bean当容器关闭时,调用bean的销毁方法(需要配置)例子House:packagecom.li.bean;/***@author李*@version1.0*/publicclassHouse{privateStringname;publicHouse(){System.out.println("House()构造器被执行...");}publicStringgetName(){re

读Java8函数式编程笔记03_高级集合类和收集器

1. 方法引用1.1. 一种引用方法的轻量级语法1.1.1. 提供了一种简短的语法1.1.2. 标准语法为Classname::methodName1.2. 凡是使用Lambda表达式的地方,就可以使用1.3. 自动支持多个参数1.3.1. 前提是选对了正确的函数接口2. 出现顺序2.1. 流是有序的2.1.1. 流中的元素都是按顺序处理的2.2. 依赖于数据源和对流的操作2.3. 在一个有序集合中创建一个流时,流中的元素就按出现顺序排列2.3.1. List2.4. 如果集合本身就是无序的,由此生成的流也是无序的2.4.1. HashSet2.5. 一些操作在有序的流上开销更大,调用unor

读Java8函数式编程笔记03_高级集合类和收集器

1. 方法引用1.1. 一种引用方法的轻量级语法1.1.1. 提供了一种简短的语法1.1.2. 标准语法为Classname::methodName1.2. 凡是使用Lambda表达式的地方,就可以使用1.3. 自动支持多个参数1.3.1. 前提是选对了正确的函数接口2. 出现顺序2.1. 流是有序的2.1.1. 流中的元素都是按顺序处理的2.2. 依赖于数据源和对流的操作2.3. 在一个有序集合中创建一个流时,流中的元素就按出现顺序排列2.3.1. List2.4. 如果集合本身就是无序的,由此生成的流也是无序的2.4.1. HashSet2.5. 一些操作在有序的流上开销更大,调用unor