自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 aop理解记录

在查询aop理解的博客时,发现评论里面有位老哥总结的很到位,一句话说明白了aop中各个概念的作用,在此记录一下:在AOP中切面就是与业务逻辑独立,但又垂直存在于业务逻辑的代码结构中的通用功能组合;切面与业务逻辑相交的点就是切点;连接点就是把业务逻辑离散化后的关键节点;切点属于连接点,是连接点的子集;Advice(增强)就是切面在切点上要执行的功能增加的具体操作;在切点上可以把要完成增强操作的目标对象(Target)连接到切面里,这个连接的方式就叫织入。...

2021-04-29 10:23:53 161

原创 windows下杀死指定端口的服务

netstat -ano | findstr 端口号查看指定端口服务的pidtaskkill /pid pid -t -f杀掉该服务

2021-04-23 16:22:18 479

原创 ssh设置远程服务器别名

ssh设置远程服务器别名通常我们使用ssh链接远程服务器,采用如下格式:ssh user@ip如果我们配置了别名abc,可以直接使用:ssh abc即可连接。具体配置如下:在~/.ssh目录下的config文件(如果没有config文件,新建即可)中添加如下内容:Host 别名 HostName ip User user port 22需要配置多个服务器别名,重复上述代码块即可。...

2021-04-23 09:51:08 503

转载 CentOS安装SL

原文链接

2021-04-22 09:27:35 261

原创 Redis学习记录

redis简介redis(REmote DIctionary Server)是C语言开发的一个开源的高性能的键值对(key-value)数据库。特征:数据间没有关系单线程工作方式高性能多数据类型支持字符串类型listhashsetsortset5.持久化支持应用:热点信息任务队列,如秒杀、抢购、购票排队及时信息,如排行榜、在线人数、设备信号等分布式数据共享分布式锁数据类型string:添加/修改数据set key value添加/修改多个

2021-04-16 10:46:40 117

原创 Oracle学习记录

-- 创建表空间create tablespace itheimadatafile 'c:\zxc\itheima.dbf'size 100mautoextend onnext 10m;--创建用户create user itheimaidentified by itheimadefault tablespace itheima;--给用户授权grant dba to itheima;--创建表create table person( pid number(20

2021-04-09 18:45:38 103

原创 MySQL索引优化实践

全职匹配最左前缀原则不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描存储引擎不能使用索引中范围条件右边的列尽量使用覆盖索引(只访问索引的查询(索引列包含查询列)),减少 select * 语句mysql在使用不等于(!=或者<>),not in ,not exists 的时候无法使用索引会导致全表扫描,< 小于、 > 大于、 <=、>= 这些,mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引.

2021-03-12 14:40:12 164

原创 MySQL索引

MySQL底层采取b+树不用二叉树的原因是因为对于单边增长的索引查找,遍历次数和链表查询相同,效率低下;红黑树属于二叉平衡树,当数据量很大的时候,树的高度增长较快,查找叶子节点的时候效率依然不高;b树每个节点可以存储多个数据,有效降低树的高度,但是b树非叶子节点存放数据,每页数据个数变小,树的高度远大于b+树;b+树对b树进一步优化,非叶子节点只有索引(冗余),叶子节点包含所有索引及数据并且是排好序的,叶子节点相邻节点之间存有指针,形成双向链表。MySQL中为b+树每页数据分配16K空间(大概

2021-03-12 11:20:24 101

转载 【数据结构】数据结构学习网址

数据结构和算法可视化网站:数据结构和算法动态可视化 https://visualgo.net/zhData Structure Visualizations https://www.cs.usfca.edu/~galles/visualization/Algorithms.html尚硅谷Java数据结构与java算法,韩顺平数据结构与算法 https://www.bilibili.com/video/BV1E4411H73v...

2021-03-03 10:21:37 408

原创 MySQL

终端操作:登录数据库服务器:mysql -uusername -ppassword退出登录:exit;查看数据服务器里面有的数据库:show databases;创建数据库:create database [数据库名];选中要操作的数据库:use [数据库名];查看数据库中的表:show tables;创建表:create table [表名] ([字段名] 字段类型(字段值长度) , [字段名] [ 字段类型 [(字段值长度)] ]);

2021-03-02 16:09:55 212 1

原创 线程唤醒的两种方式

通过 LockSupport.park(); 阻塞的线程,可以通过下面两种方式唤醒:通过 LockSupport.unpark(thread) 唤醒使用中断 thread.interrupt() 唤醒public static void main(String[] args) { Thread t0 = new Thread(() -> { Thread current = Thread.currentThread(); System.out.prin

2021-02-22 14:55:30 2796

原创 AQS

lock的核心原理:  自旋(即循环)  LockSupport(阻塞/唤醒指定线程)  CAS操作(保证并发场景下只能有一个线程获取锁)  队列容器(实现公平锁或者非公平锁)。

2021-02-22 14:12:08 96

原创 锁的消除

private void method(){ Object object = new Object(); synchronized (object){ // //sdf //asdf System.out.println(); } }当method方法被多个线程执行,由于被锁对象object 是在方法内部声明的,即每个线程的object对象是不同的对象,

2021-02-20 14:23:46 126

原创 并发三大特性

并发三大特性:原子性:  原子性指的是一个操作是不可中断的,即使是在多线程环境下,一个操作一旦开始就不会被其他线程影响。可以通过 synchronized和Lock实现原子性,volatile不能保证原子性。有序性:  有序性是指对于单线程的执行代码,我们总是认为代码的执行是按顺序依次执行的,即使指令重排也要保证执行结果不受影响。可见性:  共享变量在不同线程的工作内存可见,volatile可以解决可见性问题(能否及时可见),不加volatile也可能可见,但不一定及时。synchronize

2021-02-19 15:33:53 694

原创 JMM内存模型

JMM(Java memory module)java线程内存模型注意,JMM内存模型更多是规范上的概念,不要与JVM运行时数据区混淆。数据同步的八大原子操作:  (1)lock(锁定):作用于主内存的变量,把一个变量标记为一条线程独占状态  (2)unlock(解锁):作用于主内存的变量,把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定  (3)read(读取):作用于主内存的变量,把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作使用  (4)load

2021-02-19 13:51:54 144

原创 空间局部性

cpu读取数据如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。public class TwoDimensionalArraySum { private static final int RUNS = 10; private static final int DIMENSION_1 = 1024 * 1024; private static final int DIMENSION_2 = 6; private static long[][] longs;

2021-02-19 10:57:07 225

原创 JVM垃圾回收

垃圾收集算法复制算法标记整理算法标记清除算法分代收集理论:根据年轻代和老年代的内存特点采用不同的收集算法垃圾收集器Serial串行收集器(年轻代和老年代都可以用,现在几乎不用)  -XX:+UseSerialGC -XX:+UseSerialOldGC   年轻代采用复制算法,老年代采用标记整理算法   STW的时候单线程收集Parallel并行收集器(年轻代和老年代都可以用)   -XX:+UseParallelGC -XX:+UseParallelOldGC   可以

2021-02-18 17:20:11 104

原创 常量池

常量池中主要存两种数据:字面量和符号引用。javap -v 指令查看的是静态常量池,运行时加载到方法区称为运行时常量池。字符串常量池  1.6及以前,字符串常量池在运行时常量池内,从1.7之后字符串常量池移至堆区。  创建字符串常量时,首先查询字符串常量池是否存在该字符串,存在该字符串,返回引用实例,不存在,实例化该字符串并放入池中字符串三种操作:直接赋值字符串  先去常量池中通过 equals(key) 方法,判断是否有相同的对象  如果有,则直接返回该对象在常量池中的引用;  如果没

2021-02-18 17:16:59 213

原创 GC调优

JAVA常用指令:  java/jdk/bin目录下自带一些工具  jps:查看当前运行的java程序进程ID    jmap:查看内存信息、实例个数以及占用内存大小  jmap -histo pid  jmap -heap pid  查看堆信息  jmap ‐dump:format=b,file=eureka.hprof pid查看dump快照  使用jvisualvm  jstack pid可以查看线程状态,可以直接显示死锁;  top -p pid显示进程的内存情况...

2021-02-18 15:28:59 135

转载 Java字节码「随身手册」

Java字节码手册

2021-02-07 16:44:59 168

原创 JVM

JVM主要由三块组成:类加载子系统运行时数据区字节码执行引擎一、类加载子系统参考 类加载机制二、运行时数据区1.程序计数器跟随线程,记录当前线程指令执行位置唯一不会发生OOM的区域2.虚拟机栈(默认1M)跟随线程,调用方法一个一个栈帧入栈(注意OOM和StackOverflowError的区别)栈帧入栈出栈也可看出来局部变量的有效区域每个栈帧包括:本地变量表:方法内的变量操作数栈(栈结构):操作数据的临时存放区动态链接:符号引用转直接引用方法出口:方法结束回到调用方的指

2021-02-07 16:08:27 90

原创 JVM类加载机制

一、内置类加载器1.跟加载器(c++代码的一段加载逻辑)2.扩展类加载器 Launcher.ExtClassLoader3.应用类加载器 Launcher.AppClassLoader三个内置加载器是逻辑上的父子关系,并非Java语法上的继承关系,具体详见sun.misc.Launcher构造方法,ExtClassLoader实例通过传参设置为AppClassLoader的parent属性。二、双亲委派双亲委派的具体过程为,自下而上检查是否加载过某类,有则直接返回,没有则委派给父加载器(详见ja

2021-02-05 14:21:33 121

原创 windows terminal设置

{ "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b7}", "name": "git bash", "commandline": "C:\\software_install_filder\\Git\\bin\\bash.exe", "icon" : "C:\\software_install_filder\\Git\\mingw64\\share\\git\\git-for-windows.ico", "hidden": false, "a

2021-02-03 13:39:44 221

原创 git学习笔记

windows下下载地址 https://git-for-windows.github.io/。安装一路next即可; Linux下运行yun install git即可。1.报家门: 配置username(你是谁):git config --global user.name &amp;amp;lt;username&amp;amp;gt;和邮箱(别人怎么联系你):git config --globle user.email &amp;amp;lt;xxx@x

2018-05-07 20:31:31 298

原创 N本名著浓缩成的N句话

1、真正有气质的淑女,从不炫耀她所拥有的一切,她不告诉人她读过什么书,去过什么地方,有多少件衣服,买过什么珠宝,因为她没有自卑感。——《圆舞》 2、如此情深,却难以启齿。原来你若真爱一个人,内心酸涩,反而会说不出话来,甜言蜜语,多数说给不相干的人听。——《她的二三事》 3、能够说出的委屈,便不算委屈;能够抢走的爱人,便不算爱人。——《开到荼蘼》 4、爱得不够,才借口多多。——《紫薇愿》 5、最佳的报

2017-07-28 17:38:52 806

空空如也

空空如也

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

TA关注的人

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