- 博客(14)
- 收藏
- 关注
原创 SQL语句中@XXX是什么?作用是什么?database links
如何创建?database links 是数据库之间的通路,建立连接后通过select * from tbname@linkname;可以访问远程数据库。如何创建?create database link db_1 connect to db_2_user identified by "db_2_user_password" using 'DEMO = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =
2020-08-19 17:54:58
1406
原创 多线程lock的使用,ReentrantLock,Condition 实现等待/通知,公平锁与非公平锁
一、使用ReentrantLock 类在Java多线程中,可以使用synchronized 关键字来实现线程之间的同步互斥,但在JDK1.5 中新增了 ReentrantLock 类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比synchronized更加的灵活。1.使用ReentrantLock 实现同步同步的方法所在类:impor...
2019-08-13 13:57:07
381
原创 ThreadLocal 的使用与InheritableThreadLocal的使用
ThreadLocal 主要解决的就是每个线程绑定自己的值,可以将ThreadLocal 类比喻成全局存放数据的盒子,盒子中可以存储每个线程的私有数据。1.ThreadLocal 的初始化如果不进行初始化第一次调用get()方法时返回的值是null。初始化的方法是 继承ThreadLocal 类 然后重写 initialValue()方法。重写initialValue()方法:public...
2019-08-09 15:20:38
437
原创 多线程 join方法的使用
在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束。这时,如果主线程想等待子线程执行完成之后在结束,比如子线程处理一个数据,主线程要取的这个数据中的值,就要用到join()方法。join()方法的作用是等待线程对象销毁。join()与 join(long) 方法 都有释放锁的特点。1.join() 方法线程代码public class...
2019-08-08 11:29:05
413
原创 多线程的等待/通知机制,wait与notify,管道进行线程间通信
什么是等待/通知机制等待/通知机制在生活中比比皆是,比如在就餐时就会出现厨师和服务员之间的交互要在“菜品传递台”上,在这期间会有几个问题:1)厨师做完一道菜的时间不确定,所以厨师将菜品放到“菜品传递台”上的时间也是不确定的。2)服务员取到菜的时间取决于厨师,所以服务员就有“等待(wait)”的状态。3)服务员如何能取到菜呢?这又的取决于厨师,厨师将菜放在“菜品传递台”上,其实就相当于一种...
2019-08-07 11:44:31
301
原创 关键字volatile,公共堆栈,私有堆栈,非原子特性
公共堆栈与线程的私有堆栈在启动线程时,变量的值是存在于公共堆栈及线程的私有堆栈中。在JVM被设置为-server 模式时为了线程运行的效率,线程一直在私有堆栈中取变量的值,即使有其他线程将变量的值进行了修改,更新的却是公共堆栈中的变量值,私有堆栈中的值不会变,这就导致线程运行存在问题。内存关系如图:volatile作用使用volatile 关键字,可以强制的从公共内存中读取值。使用vola...
2019-08-05 16:25:16
1055
原创 服务器上Oracle数据库导入dmp文件
一、准备工作1.在PL/SQL上登录 具有dba 权限的用户2.新建用户,为用户赋权// 创建用户create user 用户名 identified by 密码 default tablespace 表空间 temporary tablespace 缓存空间;// 赋权grant connect,resource,dba to 用户名;grant read, write...
2019-08-02 13:26:46
1335
原创 synchronized作用,线程安全与非线程安全,锁,对象锁
一、线程安全与非线程安全 线程安全: 获得的实例变量的值是经过同步处理的,不会出现脏读的现象。 非线程安全: 多个线程同时对同一个对象中的同一个实例变量进行操作时会出现值被更改,值不同步的情况(也就是“脏读...
2019-08-01 17:50:00
306
原创 线程的优先级
一、描述 在操作系统中,线程可以划分优先级,优先级较高的线程得到的CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务。 设置线程优先级有助于帮“线程规划器”确定在下一次选择哪一个线程来优先执行。...
2019-07-31 14:30:40
240
原创 多线程使用jxcell 解密xls文件,xlxs文件不支持.暴力破解6位数的Excel密码,jxcell下载
多线程解密xls文件main方法代码:import com.jxcell.View;public class OpenMiMa { public static void main(String[] args){ long beginTime = System.currentTimeMillis(); View m_view = new View(); MyThread1 my...
2019-07-30 14:41:23
855
1
原创 线程中几个常见的方法
1. currentThread() 方法currentThread()方法可返回代码段正在被哪个线程调用的信息。// 经常这样调用 可以得到当前线程的名称Thread.currentThread().getName();2. isAlive() 方法isAlive() 方法的功能是判断当前的线程是否处于活动状态。3.sleep() 方法sleep() 方法的作用是在指定的 毫秒...
2019-07-26 10:47:05
209
原创 实现多线程的两种方式:第一种是继承Thread类,第二种是实现Runnable接口
第一种 继承Thread类Thread类的结构:public class Thread implements Runnable 可以看出Thread类继承了 Runnable接口,他们之间是多态的关系。使用继承Thread类来实现多线程时,最大的局限是不能支持多线程,因为Java语言的特点是单根继承。创建过程首先新建一个类继承Thread类,然后重写run方法,在run方法中,写线程要执行的任...
2019-07-25 14:51:47
2685
原创 面试题:“一个线程被调用两次start()方法会出现什么情况?”
今天在看高洪岩老师的Java多线程编程核心技术是看到有个注意点:一个线程被调用两次start()方法,会出现Exception in thread “main” java.lang.IllegalThreadStateException的错误。我不知道为什么于是去网上查了下,学到了下面的知识。Java的线程是不允许启动两次的,启动第二次必然会出现Exception in thread “main...
2019-07-24 16:40:29
1743
1
原创 进程与线程的简单理解
2019.7.23 多线程基础进程与线程一、进程进程是操作系统管理的基本运行单元,是程序及其数据在机器上一次顺序执行所发生的的活动,是程序在一个数据集合上运行的过程,是系统进行资源和调度的最小单位。可以简单地理解为“Windows 任务管理器”中的每个exe文件二、线程线程可以理解为进程中独立运行的子任务。一个进程可以包含多个线程,但每个线程都是可以独立运行的。比如,我们熟悉的QQ.e...
2019-07-23 13:56:20
261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人