Java Day 12


 编译格式 javac -d . **.java

包之间的访问
 类找不到: 类名写错,包名.类名
 包不存在:指定classpath
 其他包的类无法访问:权限 public

protected

包导入import
 原则:用到哪个类,就导入哪个类

Jar包
 jar -cf aha.jar ..
 
 为jar指定classpath,jar中的class文件可以直接运行

多线程
 进程 正在进行中的程序
 线程 进程中的一个负责程序执行的控制单元

利与弊
 同时运行
 线程多 效率低

多线程创建--继承Thread类
 创建线程方式一: 继承Thread类
 1、定义类并继承
 2、覆盖Thread类中的run方法
 3、创建线程
 4、启动线程

run方法中定义就是线程要运行的任务代码
 由于是运行自定义的任务代码,则需要重写

Thread类中的方法 线程名称
 currentThread().getName();

图解

 1 class ThreadDemo{
 2     public static void main(String[] args){
 3         Demo a = new Demo("小强");
 4         Demo b = new Demo("wancai");
 5         a.start();
 6         b.start();
 7         for(int x=0;x<5;x++){
 8             System.out.println(",,,x="+x+"...name:"+Thread.currentThread().getName());
 9         }
10     }
11 }
12
13 class Demo extends Thread{
14     private String name;
15     Demo(String name){
16         super();
17         this.name = name;
18     }
19     Demo(){}
20
21     public void run(){
22         for(int x=0;x<10;x++){
23             System.out.println(",,,x="+x+"...name:"+Thread.currentThread().getName());
24         }
25     }
26 }
时间: 2024-08-05 11:12:58

Java Day 12的相关文章

java进阶12 Base64 UrlBase64 Hex 加密 解密技术

java的加密与解密技术: 现在的加密技术主要有 单向加密算法:以MD5 SHA算法为代表 对称加密算法:以DES 三重DES AES PBE算法为代表 非对称加密算法:以RSA为代表 简要的说下这三种加密算法的区别 先是单向加密算法,顾名思义,它不会有密钥,因为它是单向的,加密之后无法解密,就连程序猿都无法知道加密之后的东西是什么 主要用处是数据完整性的验证. 对称加密算法,其特征是公钥与私钥相同.一般用来数据储存,比如将数据加密之后存入数据库,那么数据库管理员就无法泄密数据库中的类容 有密钥

Java基础12 类型转换与多态(转载)

类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用.我们之前见过对象数据.类数据.方法参数.方法返回值以及方法内部的自动变量,它们都需要声明其类型.Java是一种强类型(strongly typing)语言,它会对类型进行检查.如果我们错误的使用类型,将造成错误. 比如在下面的Test类中,我们将一个Cup类对象赋予给aPerson类引用: public class Test{    public static void main(String[] ar

Java基础12:深入理解Class类和Object类

Java基础12:深入理解Class类和Object类 Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI. 这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类.Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建. 说白了就是: Class类也是类的一种,只是名字和class关键字高度相似.Java是大小写敏感的语言.

Java笔记(12):常见对象String

1.String类的构造方法 1 package cn.itcast_01; 2 3 /* 4 * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. 5 * 通过查看API,我们可以知道 6 * A:字符串字面值"abc"也可以看成是一个字符串对象. 7 * B:字符串是常量,一旦被赋值,就不能被改变. 8 * 9 * 构造方法: 10 * public String():空构造 11 * public String(byte[] bytes):把字节数组转成字符串 1

java 16 -12 静态导入

静态导入: 格式:import static 包名….类名.方法名; 可以直接导入到方法的级别 静态导入的注意事项: A:方法必须是静态的 B:如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀. 由此可见,意义不大,所以一般不用,但是要能看懂. 1 import static java.lang.Math.abs; 2 import static java.lang.Math.pow; 3 import static java.lang.Math.max; 4 5 //错误

韩顺平循序渐进学java 第12讲 多态

12.1 多态-四大特征之四 12.1.1 概念 所谓多态,就是指一个引用(类型)在不同情况下的多种状态. 可以这样理解:多态是指通过指向父类的指针,来调用在不同子类中实现的方法. 12.1.2 注意事项 在讲解多态的时候,我们注意到这样一个现象-类型的转换. 1.java允许父类的引用变量引用它的子类的实例(对象) Animal animal=new Cat(); 2.关于类型转换还有一些细节要求,比如子类能不能转换成父类,有什么要求等等... 多态代码演示: 1 /**日期:2016-03-

黑马程序员——java学习12(毕18--总结)——IO

1.IO流 处理设备之间的数据传输 字符流为了处理文字而存在,基于字节流,其中融合了编码表 1.1.Writer--------write,flush,close java.util.FileWriter FileWriter(String fileName)根据给定的文件名构造一个FileWriter对象 java.io.OutputStreamWriter void write(String str, int off, int len)将数据写入流中 void flush()刷新流中的缓冲

java多线程12设计模式

1.Single Threaded Execution Pattern(单线程运行模式) 2.Immutable Pattern(一成不变的模式) 3.Guarded Suspension Pattern(国防暂停模式) 4.Balking Pattern(止步模式,阻行模式) 5.Producer-Consumer Pattern(生产者-消费者模式) 6.Read-Write Lock Pattern(读-写锁模式) 7.Thread-Per-Message Pattern(每一个消息一个线

java 22 - 12 多线程之解决线程安全问题的实现方式1

从上一章知道了多线程存在着线程安全问题,那么,如何解决线程安全问题呢? 导致出现问题的原因: A:是否是多线程环境 B:是否有共享数据 C:是否有多条语句操作共享数据 上一章的程序,上面那3条都具备,所以肯定出问题. 如何解决问题: 原因A.B肯定不能改变,所以只能改变原因C 解决问题思路: 如果把多条语句操作共享数据的代码给包成一个整体,让某个线程在执行这个整体的时候,别的线程不能执行. 这时候就用到了java提供的:同步机制 同步代码块: synchronized(对象){  需要同步的代码

java 18 - 12 模拟斗地主洗牌、发牌,并对发的牌进行排序

1 /* 2 模拟斗地主的发牌功能(发牌完毕后发到手上的牌是有顺序的) 3 分析: 4 A:创建一个HashMap集合 5 B:创建一个ArrayList集合 6 C:创建两个字符串,一个是花色,一个是牌的数字 (发牌得有一盒牌) 7 为了方便以后的排序,创建这两个字符串的时候,按照大小顺序排列(斗地主中的大小顺序) 8 大小王除外 9 D:把这两个字符串放进HashMap集合中(拼接一起 花色+牌号) 同时给每个放进去牌进行编码0--52并存储 10 同时也给ArrayList集合中存储编码,