自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_353973854的博客

欢迎围观

  • 博客(19)
  • 收藏
  • 关注

转载 mysql 索引最左匹配原则

转载自:https://blog.youkuaiyun.com/u013164931/article/details/82386555 创建表create table test(a int ,b int,c int,d int,key index_abc(a,b,c))engine=InnoDB default charset=utf8;1234567插入 10000 条数据...

2019-08-06 17:18:23 304

转载 深克隆与浅克隆

转载自:https://www.cnblogs.com/acode/p/6306887.html Java中要想自定义类的对象可以被复制,自定义类就必须实现Cloneable中的clone()方法,如下:public class Student implements Cloneable { private String name; private...

2019-07-21 22:27:25 168

转载 sed和awk用法

Sed转载自:https://www.cnblogs.com/leedaily/p/8329445.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:sed [-nefri] ‘command’ 输入文本  常用选项: ...

2019-07-21 22:07:12 277

原创 字节流与字符流

一,作用1.在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)2.InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来...

2019-07-21 21:49:14 254

原创 MySQL事务

一:四大特性原子性 一个事务要么全部执行,要么全部撤销。隔离性 多个事务之间相互独立,互不干扰。持久性 事务的提交结果,将持久化的保存在数据库中。一致性 数据库正确的改变状态后,数据库的一致性约束没有被破坏。 事务执行前和执行后必须处于一致性状态,如果事务A+B=10,n那么当事务A发生变化时,事务B也要相应的变化,此时的A+B=10依旧成立。二:隔离级别 1.读未提交(脏...

2019-07-21 21:39:21 134

原创 mysql:索引+优化+锁

1.索引索引类型: 普通索引,主键索引,唯一索引,组合索引,全文索引索引优缺点: 优点:查询块 缺点:浪费存储空间,在增删改的时候需要额外的维护,不走索引: null ,like ,!=(<>) ,or ,not 查看是否走索引: explain:noindex(未走索引),using index(使用索引) explain可以用...

2019-07-21 21:33:20 215

原创 java 多线程 锁

ReenTrantLock :锁lock(); unlock()Condition:同步监视器Condition的作用是对锁进行更精确的控制await() ;singal() ;singalAll();对象监视器:wait();notify();notifyAll();锁:1.公平锁与非公平锁: 公平锁:指按照线程加锁的顺序来分配,即FIFO先到先得 非公平锁:采取...

2019-07-21 21:27:18 160

转载 String 和 StringBuffer的replace坑

今天看到一个面试题,话不多说,先上代码public class test { public static void main(String[] args) { String A = new String("java"); StringBuffer B = new StringBuffer("java"); st(A); sb(B); System.out.printl...

2019-04-09 10:38:38 878 1

转载 五种IO模型(详解+形象例子说明)

在网络环境下,通俗的讲,将IO分为两步: 1.等; 2.数据搬迁。 如果要想提高IO效率,需要将等的时间降低。五种IO模型包括:阻塞IO、非阻塞IO、信号驱动IO、IO多路转接、异步IO。其中,前四个被称为同步IO。在介绍五种IO模型时,我会举生活中钓鱼的例子,加深理解。1.阻塞IO(blocking I/O)A拿着一支鱼竿在河边钓鱼,...

2019-03-19 11:51:44 229

原创 Student student = new Student() ;

Student student = new Student() ;在内存中做了哪些事情?1.加载Student.class进内存(方法区)。2.在栈内存为student引用开辟空间。3.在堆内存为学生对象开辟空间。4.对学生对象的成员变量进行默认初始化(初始化零值)。5.对学生对象的成员变量进行显示初始化(自定义初始化)。6.通过构造代码块对学生对象进行初始化(没有则忽略)...

2018-11-25 00:33:54 7303

原创 四种线程安全的 hashmap

1.hashtable采用synchronized方法上加锁,使用阻塞同步,效率低。2.collections.synchronizedMap(map)也是采用synchronized方法上加锁,使用阻塞同步,效率低。3.CopyOnWriteMap (读写分离思想)(java本身并没有提供CopyOnWriteMap,但是我们可以自己实现一个,代码见下)采用 写时复制 的...

2018-11-07 22:42:20 4032

原创 java 面向对象

1. 面向过程与面向对象的区别 之 思维方式1.面向过程是以步骤来划分问题;面向对象是以功能来划分问题2.面向过程则是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题的事物分解给各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。 2. 面向过程与面向对象的区别 之...

2018-10-30 22:40:24 168

原创 本地线程副本变量工具类ThreadLocal

1.ThreadLocal是什么 ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。 2.数据结构 1.每个thread线程内部都有一个map(threadLocalMap). 2.map里面存储...

2018-10-30 21:57:50 442

原创 六大设计原则

1.单一职责原则    (高内聚,低耦合)一个类只负责一个功能领域中的相应职责(或者可以定义为:就一个类而言,应该只有一个引起它变化的原因)。    在软件系统中,一个类(大到模块。小到方法)承担的责任越多,它被复用的可能性就越小,而且耦合度也越高。2.接口隔离原则    一个模块不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。    使用多个接口,而不是只使...

2018-10-30 21:54:40 376

原创 java 高性能并发二之 CAS

CAS:比较并交换(Compare-and-Swap)1. CAS操作。CAS虽然是看上去是两次操作,但其实际上是通过硬件来保证其只使用一条处理器指令就完成操作,所以CAS是一个原子操作。CAS是一种乐观的并发策略,采用失败重试的方式。CAS有3个操作数,(旧的)内存值V,预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。(可以将内存值...

2018-10-29 19:48:14 349

原创 java 高性能并发一之 volatile

volatile是java虚拟机提供的最轻量级的同步机制一,它的作用主要有两个:1.保证此变量对所有线程的可见性。2.禁止指令重排序优化。 “可见性”是指当一条线程修改了这个变量的值,新值对于其它线程来说是可以立即得知的。volatile的特殊规则保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新。而普通变量的值在线程间传递均需要通过主内存来完成。例如,线程A修改...

2018-10-29 15:38:21 500

原创 常用集合类及其特性一之List接口及其实现类

 list接口:1&gt;元素有序(插入有序),元素可重复( 可重复的更确切概念即e1.equals(e2) )。2&gt;如果列表本身允许null元素的话,允许多个null值。3&gt;list借口提供了特殊的迭代器ListIterater,除了允许Iterater接口提供正常的操作外,该迭代器还允许元素插入和替换,以及双向访问,还提供了一个方法来获取从列表中指定位置开始的列表迭...

2018-08-01 16:09:47 406

原创 nginx+tomcat搭建集群及集群间的session共享

下载nginx和tomcat,笔者这里是在windows环境一.nginx搭建tomcat集群1.nginx直接双击nginx.exe运行,同时打开浏览器输入localhost,显示如下界面即表示安装成功。2.复制tomcat,一个命名为tomcat1,另一个为tomcat2.并为两个tomcat分别配置环境变量然后修改tomcat配置文件,打开conf下的server.xml...

2018-07-25 23:19:48 1078

原创 jdk动态代理简单实现

1.创建student接口package com.xq.DynamicProgramming;public interface student { void study(); void play();}2.创建studentImpl实现类实现student接口package com.xq.DynamicProgramming;public class studentI...

2018-07-25 15:38:19 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除