- 博客(14)
- 收藏
- 关注
原创 事务控制并发问题
一、数据库事务并发问题假设现在有两个事务:Transaction01和Transaction02并发执行。1.脏读①Transaction01将某条记录的AGE值从20修改为30。②Transaction02读取了Transaction01更新后的值:30。③Transaction01回滚,AGE值恢复到了20。④Transaction02读取到的30就是一个无效的值。2.不可重复读①Transaction01读取了AGE值为20。②Transaction02将AGE值修
2020-08-29 22:36:41
592
原创 MySql单行函数整理
1.大小写控制函数LOWER('SQL Course') => sql courseUPPER('SQL Course') => SQL COURSE2.字符控制函数CONCAT('Hello','World') => HelloWorldSUBSTR('HelloWorld',1,5)=>HelloLENGTH('HelloWorld')=>10INSTR('HelloWorld','W')=>6LPAD(salary,10,'*')=&
2020-08-24 21:55:10
311
原创 自定义ThreadPool线程池及各个参数解析
一、线程池的优点1.降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的销耗。2.提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行。3.提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会销耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。二、Java线程池ThreadPool的七大参数1.corePoolSize:线程池中的常驻核心线程数2.maximumPoolSize:线程池中能够容纳同时执行的最大线程数,此值必须大
2020-08-24 20:21:50
2182
转载 Java多线程编程之ReadWriteLock
一、代码package com.xxx;import java.util.HashMap;import java.util.Map;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;class MyCache { private volatile M
2020-08-23 23:54:02
235
原创 JUC三个辅助工具类CountDownLatch、CyclicBarrier、Semaphore
一、CountDownLatchCountDownLatch类有两个方法await和countDown,当一个或多个线程await时这些线程将会被阻塞,其他线程调用countDown会将计数器减一(调用countDown的线程不会被阻塞),当计数器变为0时,因为await方法被阻塞的线程将会被唤醒继续执行package com.xxx;import java.util.concurrent.CountDownLatch;public class CountDownLatchDemo {
2020-08-23 23:42:02
181
原创 Callable接口实现线程
一、代码package com.xxx;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;public class CallableDemo { public static void main(String[] args) throws ExecutionException, InterruptedException { FutureTask<
2020-08-23 22:41:46
157
原创 多线程顺序调用Demo
一、题目三个线程A,B,C顺序打印,A打印5次,B打印10次,C打印15次二、代码package com.xxx;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class MyPrint{ private int number = 1;//标志位 Loc
2020-08-23 22:06:37
125
原创 多线程经典卖票Demo
一、题目三个售票员卖30张票二、代码1.synchronized版package com.xxx;class Ticket{ private int number = 30; public synchronized void sale(){ if (number > 0){ number--; System.out.println(Thread.currentThread().getName() +
2020-08-23 21:22:10
288
原创 线程的状态有几种?
一、Java中的状态类看一下State类,该类为Thread的内部类 public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread. A thread in the runnable
2020-08-23 20:04:15
391
原创 JDK SPI简单的demo演示
一、概念介绍SPI(Service Provider Interface)主要是被框架开发人员使用的一种技术。服务调用方只需要提供接口,服务的实现由服务提供方来实现,只需要实现调用方提供的接口即可。例如使用 Java 语言访问数据库时我们会使用到 java.sql.Driver 接口,不同的厂商会有不同的实现方案,开发人员并不清楚用户最终会使用哪个数据库,在这种情况下就可以使用 Java SPI 机制在实际运行过程中,为 java.sql.Driver 接口寻找具体的实现。二、JDK SPI机制
2020-08-16 16:10:51
498
原创 Java进行文件的压缩与解压
一、注意事项1.本文是一个解压与压缩的工具类,读者可以直接拷贝到工程里进行测试2.本文代码所有异常全部抛出,读者可自行修改3.关闭流时候一定注意关闭顺序,先创建的流后关闭4.有什么不足之处,欢迎大家指正二、代码package com.xxx.zip;import java.io.*;import java.util.Enumeration;import java.util.zip.*;public class ZipUtil { public static vo
2020-08-12 22:26:20
219
原创 Java如何解析xml文件?dom4j版
一、使用版本1、dom4j-1.6.12、jdk1.8二、测试步骤1.创建一个java工程,新建dom4j.java,Student.xml,并且把dom4j-1.6.1.jar导入工程2.Student.xml配上测试数据<?xml version="1.0" encoding="UTF-8"?><Students> <Student no="NO0001"> <name>张三</name>
2020-07-14 13:59:43
556
原创 单节点Hadoop搭建完整流程
一、环境介绍1.Linux版本是CentOS 6.52.JDK版本1.83.Hadoop版本是hadoop2.6.5二、开始搭建1 配置网络,使环境可以上网执行ifconfig红色框是设备名,所以我们要更改的文件名是ifcfg-eth0,文件名的结尾一定与之对应,否则以红框里的名称为准,更改对应文件名称,接下来执行命令vim /etc/sysconfig/network-scri...
2019-01-06 00:00:21
3571
原创 Spark on Yarn 找不到第三方的Jar包或配置文件,报错NoClassDefFoundError解决思路
1.背景介绍在本地使用idea 开发spark项目,用到了ipdatabase开源项目(GitHub),在使用idea中集成的maven把项目打成jar包后,使用spark-submit将jar包提交到yarn集群上出现了问题,报NoClassDefFoundError2.解决思路使用–jars或者把缺少的jar包拷贝到${spark_home}的jars文件夹下,结果依旧报错使...
2018-12-24 23:05:12
3177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅