- 博客(37)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 一周java面试问题小集
1.你讲述一下自己做的最拿手的项目2.用到了哪些技术3.项目中webservice用来干嘛,为什么选用它4.是否适应出差?是否单身?5.你事先了解过我们公司是干嘛的吗?6.你关于公司有什么问题想问的吗?7.你这几个项目的周期是多久?8.公司共多少人参与这些项目?9.你为什么离开上一家公司?10.谈谈Spring的AOP与IOC11.用到了哪些前端技术?12.你有接触过哪些封装...
2019-05-09 19:52:25
215
原创 sql行专列
假设有一个名为sales的表,包含三列:region(地区)、quarter(季度)和sales(销售额)。假设有一个名为sales的表,包含三列:region(地区)、quarter(季度)和sales(销售额)。PIVOT操作符可将一列中的数据行转换为列,生成一张新表。将SQL中的行转换为列,可以使用PIVOT和UNPIVOT两个操作符。UNPIVOT操作符则相反,可以将列转换为行。
2023-03-10 09:55:48
446
原创 ID生成策略-雪花算法
大自然中找不到两朵完全相同的雪花Twitter开发组成:41位时间戳+10位机器ID+12位序号(自增),转化成长度18的长整型代码public class IdWorker{ //下面两个每个5位,加起来就是10位的工作机器id private long workerId; //工作id private long datacenterId; //数据id //12位的序列号 private long sequence; publi.
2021-08-16 09:19:41
200
原创 前端跨域问题
跨域指的是浏览器不能执行其它网站的脚本.它是由浏览器的同源策略导致的,是浏览器对js施加的安全限制同源策略是指协议,域名,端口都要相同,其中有一个不同都会产生跨域后台解决跨域@Configurationpublic class MyMallCorsConfiguration { @Bean public CorsWebFilter corsWebFilter(){ UrlBasedCorsConfigurationSource source =.
2021-08-08 22:01:28
74
原创 整机性能(CPU、内存、硬盘)变慢,诊断命令、思路
整机top命令看%CPU 、%MEM,cpu与内存的占用比load average:1min,5min,15min系统平均负载值,如果3值相加*100%超过60%,说明负载过重uptime(top精简,load average)CPUvmstat例: vmstat -n 2 3(每2s采样一次,共计采样3次)mpstat -P ALL 2查看所有CPU消耗数,每2s采样一次(idel值,即空闲率越高越好)pidstat -u | -p [进程号]用户每
2021-08-08 18:45:34
149
原创 垃圾收集器
1.如何查看默认的垃圾回收器java -XX:+PrintCommandLineFlags -version 最后一个参数简写英文术语展开新生代1.串行收集器:Serial收集器单线程的收集器,在进行垃圾收集时候,必须暂停其它所有的工作线程,直到它收集结束2.ParNew(并行)收集器使用多线程进行垃圾回收,在垃圾收集时,会Stop-the-World暂停其它所有工作线程直到它收集结束ParNew收集器其实是Serial收集器新生代的并行多线程版本,最常见的应用场.
2021-08-08 16:00:41
59
原创 OOM错误
种类解释java.lang.StackOverflowError栈内存空间溢出错误java.lang.OutOfMemoryError:Java heap space堆内存溢出java.lang.OutOfMemoryError:GC overhead limit exceededGC回收时间过长,超过98%的时间来做GC并回收了不到2%的堆内存java.lang.OutOfMemoryError:Direct buffer memory本地(联系元空间)物理(...
2021-08-07 17:06:35
150
原创 JVM命令、参数
命令命令作用jps -l查看当前正在执行的java进程jinfo -flag PrintGCDetails 21640命令是否生效(如:PrintGCDetails ,21640为java进程号 )jinfo -flags 21640此进程号对应所有配置参数信息(21640为java进程号)java -XX:+PrintFlagsInitial -version查看参数盘点家底(还可通过此命令给类更新JVM参数值,例:java -XX:PrintFlagsIn
2021-08-07 14:59:52
77
翻译 java中可以作为GC Roots的对象
java中可以作为GC Roots的对象虚拟机栈(栈帧中的局部变量区,也叫做局部变量表)中引用的对象方法区中的类静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI(Native方法)引用的对象
2021-08-07 07:11:02
54
原创 Spring boot热部署(IDEA)
12.在pom.xml中加入<!-- 热部署 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</o...
2019-05-20 12:57:02
105
原创 IO 面试题
字节流和字符流的主要区别1.字节流在操作时不会用到缓冲区(内存),是直接对文件本身进行操作的.而字符流在操作时使用到了缓冲区,通过缓冲区再操作文件2.在硬盘上的所有文件都是以字节形式存在的(图片、声音、视频),而字符只在内存中形成上面两点能说明什么呢?针对第一点:我们知道,如果一个程序频繁地对一个资源进行IO操作,效率会非常低.此时通过缓冲区,先把需要操作的数据暂时放在内存中,以后直接...
2019-05-01 15:52:07
1117
1
原创 多线程 面试题
Lock与synchronized的区别类别synchronizedLock存在层次java的关键字,在JVM层面上是一个类锁的释放1.以获取锁的现场恒执行完同步代码,释放锁.2、线程执行发生异常,jvm会让线程释放锁在finally中必须释放锁,不然容易造成线程死锁锁状态无法判断可以判断锁类型可重入 不可中断 非公平可重入 可判断 可公平...
2019-05-01 15:31:00
249
原创 Spring 面试题(总结)
一.AOP你所知道的AOP先谈谈OOP(面向对象编程),把实际业务中的所用到的实体属性和动作封装起来,进行更搞笑的逻辑单元划分.AOP是针对业务处理过程的切面进行提取,以获得逻辑过程中的各部分之间的低耦合隔离效果为什么用AOP1.为了方便,重复代码的编写交给框架来完成2.为了更清晰的逻辑,可以让你的业务逻辑去关注自己本身的业务,而不去想一些其他的事情,这些事情包括:安全、事务、日志等A...
2019-05-01 14:05:08
143
原创 Spring boot自定义starter
starter:1、这个场景需要使用到的依赖是什么?2、如何编写自动配置```java@Configuration //指定这个类是一个配置类@ConditionalOnXXX //在指定条件成立的情况下自动配置类生效@AutoConfigureAfter //指定自动配置类的顺序@Bean //给容器中添加组件@ConfigurationPropertie结合相关xxxP...
2019-04-25 19:30:22
131
原创 Spring boot启动配置原理
几个重要的事件回调机制配置在META-INF/spring.factoriesApplicationContextInitializerSpringApplicationRunListener只需要放在ioc容器中ApplicationRunnerCommandLineRunner启动流程:1、创建SpringApplication对象initialize(sources);p...
2019-04-25 19:24:40
86
原创 Spring boot与数据访问
1、JDBC<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <...
2019-04-25 19:18:02
215
原创 Docker
1.简介Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。2、核心概念ocker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);docker客户端(Client):连接doc...
2019-04-25 19:07:26
76
原创 Spring boot WEB开发
1.简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们给容器中自动配置组...
2019-04-25 18:57:23
205
原创 Spring Boot日志(SLF4J、logback)
1.日志框架小张;开发一个大型系统; 1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件? 2、框架来记录系统的一些运行时信息;日志框架 ; zhanglogging.jar; 3、高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar? 4、将以前框架卸下来?换上新的框架,重新修改之前相关的API...
2019-04-25 15:25:18
201
原创 Spring Boot配置文件
1.配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的;•application.properties•application.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;YAML(YAML Ain’t Markup Language)YAML A Markup Language:是一个标记语言...
2019-04-25 14:55:02
119
原创 Spring Boot入门
Spring Boot入门1.Spring Boot简介简化Spring应用开发的一个框架整个Spring技术栈的一个大整合J2EE开发的一站式解决方案2.微服务2014,martin fowler提出此概念微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立...
2019-04-25 05:59:38
92
原创 Explain命令(Mysql)
Explain命令(Mysql)1.是什么(查看执行计划)使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是结构的性能瓶颈2.能干嘛表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询3.怎么玩Explain+SQL语句执行计划包含的信息...
2019-04-12 18:17:47
123
转载 Mysql 查询优化器
MySQL Query Optimizer(查询优化器)图中Optimizer部分为本文研究的重点,主要对Parser解析之后的SQL,根据统计的数据,对访问代价进行权衡,制定执行计划。查询优化器是MySQL中比较活跃的一部分,代码会经常变动。但整体而言,对查询优化器整体把握和理解之后,其他的版本也基本可以轻松理解。以下内容将通过对MySQL 5.5.20版本的源码进行分析,供大家参考。代码分...
2019-04-12 17:14:03
443
原创 索引的应用场景(哪些情况需要,哪些不需要)
索引的应用场景(哪些情况需要,哪些不需要)哪些情况需要创建索引1.主键自动建立唯一索引2.频繁作为查询的条件的字段应该创建索引3.查询中与其他表关联的字段,外键关系建立索引4.频繁更新的字段不适合创建索引5.Where条件里用不到的字段不创建索引6.单间/组合索引的选择问题,who?(在高并发下倾向创建组合索引)7.查询中排序的字段,排序字段若通过索引去访问将大大提高排序的速度...
2019-04-12 17:06:47
2572
原创 Mysql索引结构
Mysql索引结构1.BTree索引Btree索引(或Balanced Tree),是一种很普遍的数据库索引结构,oracle默认的索引类型(本文也主要依据oracle来讲)。其特点是定位高效、利用率高、自我平衡,特别适用于高基数字段,定位单条或小范围数据非常高效。理论上,使用Btree在亿条数据与100条数据中定位记录的花销相同。 数据结构利用率高、定位高效Btree索引的数据结构如...
2019-04-12 17:00:43
177
原创 Mysql索引分类、基本语法
Mysql索引分类、基本语法1.单值索引即一个索引只包含单个列,一个表可以有多个单列索引2.唯一索引索引列的值必须唯一,但允许有空值3.复合索引即一个索引包含多个列基本语法4.1 创建如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定length。CREATE [UNIQUE] INDEX inde...
2019-04-12 16:55:14
261
原创 MySql索引是什么
MySql索引是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”。B-TREE: (B:balance) 会自动根据两边的情况自动调节,使两端无限趋近于平衡状态。可以使性能最稳定。(myisam使用的方式) B-TREE弊端:(插入/修改操作多时,**B...
2019-04-12 16:41:02
165
原创 SQL执行效率、性能低的原因
SQL执行效、性能低的原因1.查询数据过多SQL能不能拆,条件过滤尽量少2.关联了太多表,太多JOINjoin 原理:用 A 表的每一条数据 扫描 B表的所有数据。所以尽量先过滤。3.没有利用到索引单值索引条件多时,可以建共同索引(混合索引)。混合索引一般会偶先使用。有些情况下,就算有索引具体执行时也不会被使用。4.服务器调优及各个参数设置(缓冲、线程数等)...
2019-04-12 15:01:48
1268
原创 Mysql配置文件
Mysql配置文件1.二进制日志 log-binlog-bin 中存放了所有的操作记录(写),可以用于恢复。相当于 Redis 中的 AOF my.cnf中的log-bin配置(默认关闭)2.错误日志 log-error默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等。3.慢查询日志默认关闭,记录查询的sql语句,如果开启会减低mysql的整体性能,因为记录日志...
2019-04-12 11:56:08
140
原创 Mysql的安装(Linux系统)
Mysql的安装(Linux系统)1.下载地址:官网下载地址:http://dev.mysql.com/downloads/mysql/2.拷贝&解压缩3.检查工作1.检查当前系统是否安装过Mysql执行安装命令前,先执行查询命令rpm -qa|grep mysql如果存在mysql-libs的旧版本包如下:请先执行卸载命令:rpm -e --nodeps my...
2019-04-12 11:36:29
79
转载 markdown语法(CSDN)
---------------------------撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/Command + Shift + O检查列表...
2019-04-11 12:05:05
97
原创 Mysql为排序使用索引
Mysql两种排序方式:文件排序(filesort)或扫描有序索引排序(index)Mysql能为排序与查询使用相同的索引KEY a_b_c(a,b,c)1.order by 能使用索引最做前缀- ORDER BY a- ORDER BY a,b- ORDER BY a,b,c- ORDER BY a DESC,b DESC,c DESC2.如果WHERE使用索引的最左...
2019-04-11 11:50:29
2719
原创 Mysql索引失效
1.全职匹配我最爱2.最佳左前缀法则如果索引了多列,要遵循最左前缀法则.指的是查询从索引的最左前列开始并且 不跳过索引中的列3.不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描4.存储引擎不能使用索引中范围条件右边的列5.尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少SELECT *6.Mysql在使用不等于(!=或者&l...
2019-04-10 13:43:20
264
转载 java在虚拟中实现编译运行原理小总结
java代码通过类加载的方式加载进JVM,JVM在运行java程序时会把它所管理的内存分为若干部分,如图示: 方法区(线程共享区):存储字节码被虚拟机加载后(编译)的类信息(),静态变量,和静态常量等(理解加了static final的常量)。字节码加载后,就会在方法区生成该Class对象,用于访问方法区该类的接口,才有了反射。堆(线程共享区):虚拟机启动时(运行),唯一目的就是存放ja...
2018-05-10 17:04:17
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人