51dev.com IT技术开发者社区

51dev.com 技术开发者社区

java 多线程 7 : 死锁

java 多线程 7 : 死锁

两个线程互相等待对方释放同步监视器就会发生死锁publicclassA{publicsynchronizedvoidfoo(Bb){System.out.println("当前线程:"+Thread.currentThread().getName()+"进入A实例的foo方法");try{Threa...

java 多线程 6 : 同步锁(Lock)

java 多线程 6 : 同步锁(Lock)

java5开始可以显示定义同步锁对象来实现同步,这种机制下,同步锁由对象充当Lock比同步代码块和同步方法更加灵活在实现线程安全的机制中,比较常用的是ReentrantLock(可重入锁)。使用该Lock对象可以显示的加锁,释放锁ReentrantLock代码格式如下:classX{//定义锁对象p...

java 多线程 5 : 同步方法

java 多线程 5 : 同步方法

使用synchronized关键字来修饰某个方法,该方法被称为同步方法。对于synchronized修饰的实例方法(非static方法),无需显示指定同步监视器,同步方法的同步监视器是this,也就是调用该方法的对象。通过同步方法可以非常方便的实现线程安全的类,线程安全的类具有如下特征:  该类的对...

java 多线程 3 : 控制线程

java 多线程 3 : 控制线程

join线程:    publicclassJoinThreadextendsThread{publicJoinThread(Stringname){super(name);}publicvoidrun(){for(inti=0;i<100;i++){System.out.println(ge...

java 多线程 4 : 同步代码块

java 多线程 4 : 同步代码块

线程安全问题:多线程访问同一数据,容易出现线程安全问题经典问题:银行取钱,1.用户名密码登陆,2.输入取款金额,3.判断账户余额是否大于取款金额,4.如果大于,取款成功,如果小于,取款失败。publicclassAccount{privateStringaccount;//账号privatedoub...

java 多线程 2 : 线程的生命周期

java 多线程 2 : 线程的生命周期

线程得生命周期:  当线程被创建并且启动之后,并不是一启动就进入执行状态,也不是一直处于执行状态,在线程得生命周期中,他要经过创建(New),就绪(Runnable),运行(Running),阻塞(Blocked),和死亡(Dead)。线程启动以后,不能一直霸占CPU独自运行,CPU需  要在多条线...

java 多线程 1 : 基础

java 多线程 1 : 基础

进程和线程:  一个程序运行后至少有一个进程,一个进程里面可以包含多个线程,但是至少要包含一个线程。线程的创建和启动:方式1:继承Thread类创建线程类,步骤     1.定义Thread类的子类,重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此run()方法也被...

Java IO 5 : 对象序列化

Java IO 5 : 对象序列化

对象序列化:  对象的序列化(Serialize)指将一个java对象写入IO流中;  对象的反序列化(Deserialize)指从IO流中恢复该Java对象;序列化的含义和意义:  序列化机制允许将实现序列化的java对象转换成字节序列,将这些字节序列可以保存在磁盘,或者通过网络传输,以后重新恢复...

Java IO 4 : RandomAccessFile

Java IO 4 : RandomAccessFile

RandomAccessFile:    认识:java输入/输出流体系中功能最丰富的文件内容访问类 既可以读取文件内容,也可以向文件传输数据,并且支持“随机访问“的方式,程序可以跳转到任意地方来读写数据。  特点:与OutputStream/Writer不同,Ra...

Java IO 3 : 字节流 和 字符流

Java IO 3 : 字节流 和 字符流

InputStream和Reader:  InputStream和Reader是所有输入流的抽象基类,本身并不能创建实例执行输入,但是他们是所有输入流的模板,他们的方法是所有输入流都可以使用的方法InputStream:  intread()  从输入流中读取单个字节,返回读取的字节数据(字节属猪可...

Java IO 2 : 理解流

Java IO 2 : 理解流

流的分类:  1.输入/输出都是从程序运行所在内存的角度来划分的。  输入流:基类主要是InputStream和Reader  输出流:主要是OutputStream和writer作为基类.  他们都是一些抽象基类,无法直接创建实例。  2.字节流和字符流  所操作的数据单元不同—&md...

Java IO 1 : File类

Java IO 1 : File类

File类访问文件和目录1.访问文件名的相关方法:  StringgetName()  返回File对象所表示的文件名/路径名(如果是路径,就返回最后一级子路径名)  StringgetPaht()  返回File对象所对应的路径名  FilegetAbsoluteFile()  返回File对象的...

使用Pageable 分页

使用Pageable 分页

1.service层封装packagecom.example.demo.service;importjava.util.List;importorg.springframework.data.domain.Pageable;publicabstractclassPage<T>{priva...

oracle 数据库 , 表中字段顺序修改

oracle 数据库 , 表中字段顺序修改

1.首先需要sys或者system权限操作2.查询需要更改的表的ID  selectobject_idfromall_objectswhereowner='用户名'andobject_name='tableName'; 注:表名需要大写3.通过ID查询出该表所有字段的顺序  selecto...

oralce 基本语法

oralce 基本语法

修改表的操作:1.oracle修改表的字段名称,字段数据类型:  altertabletableNamerenamecolumnoldNametonewName;--修改字段名称  altertabletableNamemodify(columnName数据类型);--修改数据类型(不能有数据)2....