自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 JVM面试-性能调优问题逻辑梳理

JVM面试-调优问题逻辑梳理 1.首先回答性能优化硬件方面。 存储性能优化 尽量使用SSD固态硬盘,加大内存。 2.其次考虑JVM及代码层次的优化 JVM调优的本质: 并不是显著的提高系统性能,不是说你调了,性能就能提升几倍或者上十倍,JVM调优,主要调的是稳定。如果你的系统出现了频繁的垃圾回收,这个时候系统是不稳定的,所以需要我们来进行JVM调优,调整垃圾回收的频次。 GC调优原则 1、大多数的java应用不需要GC调优 2、大部分需要GC调优的的,不是参数问题,是代码问题 3、在实际使用中,分析GC情况

2021-05-27 11:08:59 380

原创 标记清除算法与G1垃圾回收器过程-个人笔记

标记清除算法 垃圾回收器CMS(Concurrent Mark Sweep)就是基于“标记-清楚”算法实现的。一般用于老年代。 垃圾回收过程: **1. 初始标记:**仅仅只是标记一下 GC Roots 能直接关联到的对象,速度很快,需要停顿(STW -Stop the world)。 **2. 并发标记:**从GC Root 开始对堆中对象进行可达性分析,找到存活对象,它在整个回收过程中耗时最长,不需要停顿。 **3. 重新标记:**为了修正并发标记期间因用户程序继续运作而导致标记产生变动的那一部分对象的

2021-05-24 09:59:29 1519

原创 volatile笔记

volatile变量具有以下特性: 可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。 原子性:对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性。 内存语义: 可以简单理解为 volatile,synchronize,atomic,lock 之类的在 JVM 中的内存方面实现原则。 volatile写的内存语义如下: 当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量值刷新到主内存

2021-05-17 16:00:53 257

原创 锁的分类

锁的分类 2021年4月29日09:44:58 老是混淆锁的概念,今天整理下。 ** 【1】公平锁和非公平锁: ** 公平锁:是指按照申请锁的顺序来获取锁,也就是说需要排队,。 非公平锁:线程获取锁的顺序不一定按照申请锁的顺序来的,比如说BC线程在排队,线程A刚释放锁,这一时刻有可能线程D刚有获取锁需求,并且获取锁。 公平锁自然是遵循FIFO(先进先出)原则的,先到的线程会优先获取资源,后到的会进行排队等待,而非公平锁是不遵循这个原则的,随机的。 源码解析 public ReentrantLock() {

2021-04-29 10:42:40 208

原创 JVM学习各种小问题

1.为什么要区分年轻代与老年代? 跟垃圾回收有关,对于年轻代里的对象,他们的特点是创建之后很快就会被回收,所有需要一种垃圾回收算法。 对于老年代里的对象,他们的特点是需要长期存在,所以需要另外一种垃圾回收算法,所以需要分成两个区域来放不同的对象。 2.什么是永久代? JVM里的永久代其实就是我们之前说的方法区上面那个图里的方法区,其实就是所谓的永久代,你可以认为永久代就是放一些类信息的。 3.方法区内什么时候回被回收? 首先该类的所有实例对象都已经从Java堆内存里被回 收其次加载这个类的ClassLoad

2021-04-29 09:26:16 91

原创 mysql优化之索引使用规则

mysql优化之索引使用规则**等值匹配规则****最左侧列匹配**第三个规则,是最左前缀匹配原则第四个规则,就是范围查找规则第五个规则,就是等值匹配+范围匹配的规则 等值匹配规则 ,就是你where语句中的几个字段名称和联合索引的字段完全一样,而且都是基于等号的等值匹配,那百分百会用上我们的索引,这个大家是没有问题的,即使你where语句里写的字段的顺序和联合索引里的字段顺序不一致,也没关系,MySQL会自动优化为按联合索引的字段顺序去找。 最左侧列匹配 这个意思就是假设我们联合索引是KEY(class_

2021-03-08 15:04:20 315 1

原创 分布式系统的简单学习一

** 分布式系统的简单学习. ** 理解分布式架构: 分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。 为什么会发展分布式架构? 1.稳定性和可用性这两个指标很难达到。如:单点问题,一旦大型主机出现故障,那整个系统就将处于不可用...

2020-04-05 12:12:23 221

原创 java面试准备-------synchronize和Lock有什么区别?

1.原始构成. synchronize是关键字属于JVM层面. monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖与monitor对象,只有在同步块或方法中才能调用wait/notify等方法. monitorexit. lock视具体的类(java.util.concurrent.locks.Lock) 是api层面的锁. jdk1.5 2.使...

2020-02-23 16:17:17 833

原创 操作系统面试复习---进程与线程的简单地理解

一、进程与线程的简单地理解 **1.进程:**是操作系统分配资源的基本单位,每个进程里面有1个或多个线程,并且同一个进程下的线程是可以共享资源的.共享资源的方法,通过内存的寻址. 进程是程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间,至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。 2.线程:是程序执...

2020-02-18 15:41:48 204

原创 shell学习---awk

1.awk:是以行为单位进行处理文件. 第一种语法格式 awk BEGIN{}pattern{commands}END{} file_name BEGIN:处理命令之前的 执行的命令 END: 处理命令之后执行的命令 pattern:匹配模式,比如正则表达式. commands:处理命令. 2.awk 的内置变量含义 ...

2020-02-16 21:21:11 147

原创 面试题记录(一)

JVM 参数配置、常用调试工具、分区、类加载,还会问你有需要线上的调试问题吗?遇到死循环 CPU 飙升怎么解决? Java 并发包常用工具用法和原理、会配合集合类一起考,对了还会有 volatile、CAS 原理等。 MySQL 也算是必备了,索引存储结构、索引搜索原理、事务的隔离级别和原理,这些真的是逢考必问。当然除了 MySQL,Redis 和 ES 也是面试长文的,大多都是集中到原理。比如 ...

2020-02-10 12:08:59 207

转载 操作系统---用户态和内核态

https://blog.csdn.net/qq_39823627/article/details/78736650

2019-11-18 11:09:34 259

原创 cookie与session 简单学习

Cookie:是服务器通知客户端保存的键值对的一种技术,只要客户端有cookie每次请求都会把这个cookie发送给服务器,每个cookie的大小没能超过4kb 2.怎么创建Cookie 在服务上new 服务器与浏览器的cookie的交互过程 客户端生成cookie 客户端把cookie request发送给服务器 3.Cookie生命周期 setMaxAge(); 正数 ...

2019-11-04 14:39:05 169

原创 分页实现

分页实现 我们要实现的效果: 这里最复杂的是中间的1~5的分页按钮,它需要动态变化。 思路分析: 最多有5个按钮,因此我们可以用v-for循环从1到5即可 但是分页条不一定是从1开始: 如果当前页值小于等于3的时候,分页条位置从1开始到5结束 如果总页数小于等于5的时候,分页条位置从1开始到总页数结束 如果当前页码大于3,应该从page-3开始 但是如果当前页码大于totalPage-3,应该...

2019-10-30 19:47:02 438

原创 乐优商城------总结一

现在目前做到了day09,但是求快了,有很多还没搞懂,放慢速度,只求会,记录所有不会的点。

2019-10-23 12:00:50 411

转载 MyBatis的Mapper接口以及Example的实例函数及详解

https://blog.csdn.net/biandous/article/details/65630783

2019-10-18 19:05:18 126

原创 采坑之路

搭建SpringCloud项目的时候猜的坑 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) 的 作用是 :取消数据库配置。 当在用到数据库的时候记得将它改为 @SpringBootApplication ...

2019-10-15 10:27:29 186

原创 Thymeleaf入门了解

一、简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较于其他的模板引擎,它有如下四个极吸引人的特点: 动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的...

2019-10-13 14:28:34 227

原创 泛微面试总结

1.static局部变量与全局变量的区别,编译后映射文件是否包含此类变量的地址。 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量...

2019-09-09 19:51:29 7544

原创 js----所遇到的问题

window.location.search.match(/url=([^&]+)/); /location对象包含当前有关的URL信息,location是window对象的一部分,可用window.location访问 //search是一个可读可写的属性,可设置或返回当前URL的查询部分(问号?之后的部分) //match()可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,...

2019-08-26 14:07:11 200

原创 秋招面试准备-------多线程学习之java内存模型JMM

Java内存模型 共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入时,能对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在。它...

2019-08-11 17:13:51 119

原创 最近需要解决的问题,笔记

学习点— ztree redis 分表 分库 poi

2019-08-09 11:04:20 125

原创 SpringBoot----注解

@RestController 在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口 @RestController @EnableAutoConfiguration public class HelloController { @RequestMapping("/hello") public String index(...

2019-08-03 15:33:58 136

转载 mysql的一些知识点--------------------一

左连接(left join):返回 包括左表的全部记录与右表连接字段相等的记录   A表             id  name     1  小王   2  小李   3  小刘   B表   id  A_id   job   1   2    老师   2   4    程序员 **select a.name , b.job form A a left join...

2019-08-01 15:24:45 155

原创 秋招面试准备-------set Hashset, Map 复习

Set 1.无序性:不等于随机性.存储的数据在底层数组中并非按照数据索引的顺序进行添加的,而是根据数据的哈希值进行添加的顺序. 2.不可重复性:保证添加的元素按照equals()判断时,不能反回true.即相同的元素智能添加一个 分析:添加元素的过程:一HashSet 为例: 我们向HashSet中添加元素a,首先调用元素a所在类的hashcode()方法,计算元素a的哈希值...

2019-07-31 19:54:51 130

原创 秋招面试复习-------反射

反射: 获得class对象的3种方式: 1.class.forname(“类全名”):将字节码文件加载进内存,简化编码.(多用于配置文件中,将类名定义在配置文件中.读取文件,加载类) 2.类名.class : 通过类名的属性class获取.(多用于参数的传递) 3.对象.getClass : getclass 方法在object类中定义着.(多用于对象获取字节码的方式) 结论:同一个字节码文件(....

2019-07-31 09:16:19 102

原创 面试问题----用友一

**1.**建立索引需要注意的事项。 2. //这个问题没有记住 dbus_propertes 的作用。 3. linux命令 递归复制 文件 cp -r 语法: cp [选项] [源文件目录…] [目标文件目录] 选项: -f:强制复制,不论目标文件目录是否存在。 -r:递归操作,将指定的目录和目录下的文件一并处理。 -i:覆盖文件前,进行询问,默认有此选项。...

2019-07-30 14:42:32 128

转载 java秋招面试准备-----1

&和 | 既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。 &&和&都是表示与,区别是&&只要第一个条件不满足,后面条件就不再判断。 一.(1)当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只要有一端...

2019-07-15 16:19:09 313

原创 Mybatis学习-----一些小知识点

一、 mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。 在下面的语句中,如果 username 的值为 zhangsan,则两种方式无任何区别: select * from user where name = #{name}; select * from user where name = ${name}; 其解析之后的结果均为 select * from use...

2019-07-14 11:37:37 134

原创 实习看框架---随机遇到问题---一

一、request.getParameterMap()返回的是一个Map类型的值,该返回值记录着前端(如jsp页面)所提交请求中的请求参数和请求参数值的映射关系。这个返回值有个特别之处——只能读。不像普通的Map类型数据一样可以修改。这是因为服务器为了实现一定的安全规范,所作的限制。比如WebLogic,Tomcat,Resin,JBoss等服务器均实现了此规范。 二 、map.entryset(...

2019-07-12 13:38:29 94

原创 SpringMVC----小知识笔记——分表

分区:分区就是将一个表中的数据按照一定的规则分到不同的区来保存,这样在查询数据时如果数据的范围在同一个区内那么可以只对一个区的数据进行操作,这样操作的数据量更少更快。 分表: 垂直分表:俗话就是大表拆成小表。拆的时候是基于关系型数据库中的字段(属性),把一个大表拆分成多个小表。如图 水平分区:横向分表,比较容易理解,就是讲表中的不同的数据行按照一定的规律分布到不同的数据可表中,这样来降低单表的数...

2019-07-08 11:16:36 357

原创 Spring学习记录一

控制器 控制器负责接收用户输入,改变模型以及调整视图的显示。 每个http请求都会发送给控制器,请求的URL 表示出对应的action。action代表了应用可以执行的一个操作。一个提供了action的对象被称为action对象。 重定向:重定向可以将流览器定向到其他应用程序。重定向用于在同一浏览器的不同资源,用于还是用与原始请求URL不同的URL。如果是同一个浏览器的同一资源,与之URL相关联的...

2019-07-05 10:49:37 95

原创 NIO学习

NIO是一个缓冲区 提高给传输文件和通道一起配合使用,存储数据. java NIO:Channels Buffers (通道 和 缓冲区) 标准的IO 是基于 字节流和字符流进行操作的.而NIO 是基于通道(channel) 和缓冲区 buffer 进行操作的.数据是从缓冲区写入到通道中. 1,非阻塞IO 比如,当想成从通道读取数据到缓冲区是,线程还是可以进行其他的事情. 当数据...

2019-07-02 20:56:42 78

笔记_Java并发编程(2).docx

java并发、map、锁、juc

2021-05-07

空空如也

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

TA关注的人

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