- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 记录一次服务器响应慢的排查方法
1.客户端 ping 服务器的网络2. curl的方式访问服务器,判断是服务器的原因,还是客户端的原因服务端原因(排除法):1.查看数据库的连接数2.查看sql查询效率show status like 'Threads%'; -- 插看 活跃线程数show variables like '%max_connection%'; -- 查看最大连接个数-- 正常定位的话,就找到业务中用到的方法执行了那些sql,拿到数据库去跑一下试试看看执行时间-- 慢查询这种操作是在sql插叙特别多,定位不..
2020-05-12 10:52:35
1657
原创 spring容器加载配置文件的过程
1.配置资源的来源种类2.加载资源的多种策略3.loadBeanDefinitions(EncodedResource encodedResource) 加载一个明确的xml文件3.1 获取验证xml 的模型 dtd 和 xsd 两种xml 的命名方式 ----getValidationModeForResource(Resource resource)3.2 把xml 文件转化为...
2019-11-08 15:30:24
697
转载 关于多级分销的数据库设计
https://blog.youkuaiyun.com/cctcc/article/details/53992215#commentBox多级分销的情况下,不限制层级可以直接加一个冗余字段
2019-10-31 16:32:00
5578
原创 jvm 面试题之就近原则
/** * 就近原则 * * 之所以在不同作用域定义相同变量名不会出错的原因是因为JVM在调用该变量时, * 查找顺序是:先找同一作用域的变量,再找上一级作用域的变量,直到找到一个为止。 * 所以,像在下面代码里面那样命名,并不会让JVM分辨不清。 * * */public class MainTest { static int num = 4; public ...
2019-10-10 09:30:09
433
原创 | 运算 & 与运算 ^异或运算 都是二进制运算
public class MainTest { public static void main(String[] args) { // 1000 10 1010 --10 System.out.println(8|2); // 1000 10 0000---0 //与运算的运算规则是0&0=0; 0&a...
2019-09-30 07:41:08
396
原创 jvm 中 方法区 永久代 常量池 元数据 这个名字的含义以及关系
方法区:是java虚拟机规范中定义的名字 各个虚拟机实现上有所不同HostSpot虚拟机中1.在jdk1.7 以及前的版本实现的方法区称为- - -永久代2.在java 虚拟机的堆内存中分配3.里面主要存放的内容:已经被虚拟机加载的类信息,常量,静态变量,即时编译后的代码等4.内存回收:主要是常量池的回收 和类型的卸载- -目前的回收效果不好运行时常量池:分配在方法区(永久代)中...
2019-09-06 17:30:36
1399
1
原创 redis三种集群策略
redis 集群三种策略1.主从例如:一主两从,主节点负责写,从节点负责读,类似mysql主从缺点:主节点一旦挂掉就都整个集群都不可用了2.哨兵 --2.x添加一个哨兵服务,用于监控redis集群,如果检测到主节点挂掉了,哨兵发挥作用,使从节点进行选举出新的主节点,后期节点恢复自动成为从节点缺点:分布式系统中,数据不方便分布式存储3.集群 3.x出来的(支持多主,多从----实现...
2019-08-15 22:10:45
543
原创 对象存在fastjson ----JSONObject中,然后取出来
对象存在fastjson ----JSONObject中,然后取出来eg.FaceKeyLandmarks //取的过程 Object landmarks =iFaceKeyAndPhysiognomy.get("faceKeyLandmarks"); JSONObject json = (JSONObject)JSON.toJSON(landmarks); Fac...
2019-08-15 17:35:48
742
原创 telnet命令 测试服务器指定端口通不通
windows 下 cmd--->打开命令窗口 输入telnet ip port 如果结果是黑窗口---说明可用如果是 不可连接之类的话 就是不可用如果 提示说telnet命令不可用 --百度去查一下,需要配置telnet客户端...
2019-08-15 10:46:48
15091
原创 nginx 本地简单配置 自己感受
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections ...
2019-08-14 16:28:38
218
原创 编译生成的class文件---字节码内容解析
字节码文件魔数魔数用来表示class文件,由于文件的后缀名可以随意的修改,所以使用魔数来标识一种文件更具安全性每个class文件的前四个字节(u4)称为魔数,作用:确定这个文件是一个能被虚拟机接受的class文件;class 文件的魔数是:0xCAFEBABYclass文件的版本号紧接着魔数后面的就是Class文件的版本号,第5和第6 是次版本号,7,8是主版本号 java 的初...
2019-08-08 20:33:45
916
2
原创 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。
从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。注意对于重复的emp_no进行忽略。CREATE TABLE IF NOT EXISTS`titles`(`emp_no` int(11) NOT NULL,`title` varchar(50) NOT NULL,`from_date` date NOT NULL,`to_date` ...
2019-08-08 10:50:26
715
原创 获取所有员工当前的manager,如果当前的manager是自己的话结果不显示,当前表示to_date='9999-01-01'。 结果第一列给出当前员工的emp_no,第二列给出其manager对应
获取所有员工当前的manager,如果当前的manager是自己的话结果不显示,当前表示to_date='9999-01-01'。结果第一列给出当前员工的emp_no,第二列给出其manager对应的manager_no。CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`from_...
2019-08-07 10:01:51
521
原创 java类的文件结构
类的文件结构概述1.代码编译的结果—从本地机器码到字节码—字节码—才是计算机能够识别执行,字节码是构成无关性平台的基石,实现语言无关性的基础是虚拟机和字节码存储格式2.java虚拟机只和“Class 文件”这种特定的二进制文件 格式进行关联;言外的意思是,多种语言只要能编译成符合规范的Class文件就可以在java虚拟机中执行3. Class文件是一组一8位字节为基础单位的二进制流,各...
2019-08-06 21:53:28
204
原创 有关于新建的springboot 项目跑不起来的原因之一没有加入web容器的maven依赖
关于几个boot 自带的几个maven依赖的说明 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> ...
2019-07-17 10:59:24
2577
1
原创 关于maven打包遇到的问题
1.Maven 打包失败,提示 “POM for xxx is missing, no dependency information available”个人的解决方法:查看是否因配置文件配置了镜像,导致 pom.xml 中 repository 失效—注释镜像配置2.install 失败的原因在打包,如果是多模块依赖的结构,一定,一定,一定要先打包父模块(clean—install),然...
2019-07-10 12:13:41
553
原创 springboot遇到的一个问题
springboot 无法扫描mapper 的解决办法 使用@MapperScan() 注解在启动类的上面,然后填写mapper包的对应得位置(eg. com.hans.demo.mapper) 注意:1.个人建议不要使用@ComponentScan这个注解去处理扫描mapper这件事,会有个种问题 2.新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的...
2019-07-06 11:35:18
221
原创 Object类中的equals方法和hashCode方法
今天在看java集合的数据结构时看到,关于equals()方法和hashCode()方法的知识点时,发现脑子一空,很慌,回来赶快补一波equals方法的几大特征:1.自反性 : x.equals(x) 结果应该返回true。2.对称性 : x.equals(y) 结果返回true当且仅当y.equals(x)也应该返回true。3.传递性 : x.equals(y) 返回true,并且y...
2019-02-26 22:26:52
2318
原创 redis事务使用时遇到的问题
关于事务的几个方法multi():标记一个事务的开始exec():执行所有的事务块内的命令discard():取消事务,放弃执行事务块内的所有命令watch key :监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断unwatch :取消 WATCH 命令对所有 key 的监视。关于使用redisTemplate操作redi...
2019-02-19 16:53:16
761
原创 尽可能快的求10万的阶乘----fork/join
java7开始提供的一个并行执行的任务框架,是把一个大任务分割成若干个小任务,最终汇总每个小任务的结果后得到大任务结果的框架我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。。+10000,可以分割成10个子任务,每个子任务分别对1000个数进...
2019-02-14 19:29:28
985
1
原创 ArrayList 的源码分析 之 remove(int index)
/** * Removes the element at the specified position in this list. * Shifts any subsequent elements to the left (subtracts one from their * indices). * * @param index the index of the element to ...
2019-02-01 12:02:57
425
原创 hashMap的计算初始容量
static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; n |= n >>> 1
2019-01-31 18:11:52
1208
原创 linux系统下配置环境java环境变量后,每次打开窗口都需要source文件的处理
/etc/profile文件的配置如下 然后修改/etc/bashrc文件添加source /etc/profile 命令在对下面,查资料说,这个文件是每个用户通过shell打开窗口是,都会执行的命令...
2019-01-28 10:11:57
2126
1
原创 关于java类在加载的时候被java虚拟机的静态编译器成.class文件的过程
java语言是一种跨平台的语言,一次编译处处运行,编译的过程就是转化为字节码文件(.class文件)的过程,下面的文章就是简单的介绍这个转化的流程。在每个java类被虚拟机加载的类格式都是class文件的格式,那么.java文件是怎么样被转变为.class文件的呢,现在看一下下面的这张转化的流程图(敲黑板的时间到了哈!)看图说话:源码转化成字节码的过程主要经过了词法解析,语法解析,语义...
2019-01-27 21:23:36
753
原创 阿里云服务器安装git遇到的问题
安装方式是编译安装,为了安装自己想要的版本一.make: *** [http-push.o] Error 1make: * [http-push.o] Error 1yum update curl libcurl yum -y install libcurl-devel.x86_6 yum -y install expat-devel.x86_64二.fatal error: ...
2019-01-26 14:42:28
933
原创 javax.mail.AuthenticationFailedException: 534-5.7.14
javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtF534-5.7.14 M9qDqIosjMUobT5fkqlo4FbhTtJYVayg-1-4nU-tAd6y89wFiH-COK...
2019-01-25 15:12:59
2510
原创 浅析类的初始化过程
note:jdk的是java的开发工具,jre是运行java编译的class文件的工具,其中jre中包含jvm和一些运行java项目时必须的工具包在项目运行时,java文件先转换成虚拟机能识别的指令序列(编译成java字节码文件),加载到虚拟机中,加载后的java的文件存放于jvm的方法区,实际执行运到某段代码时,虚拟机会去方法区内找到对应的代码并执行Java 虚拟机中的类加载过程,从...
2019-01-13 19:21:33
183
原创 关于查看jvm的一些命令
查看初始的JVM内存的各参数的值 jcmd pid VM.flags jinfo -flags pid jmap -heap pid查看jvm内存使用情况jstat -gcutil pid查看java 的进程jps -l 各参数对应的含义:-XX:CICompilerCount=2 编译时的编译器线程数。server版的JVM默认设置为2,cl...
2018-12-11 16:06:33
403
原创 linux系统搭建服务器的运行环境 jdk maven redis supervisor
在linux系统上搭建环境1.安装jdk①在jdk官网上下载对应的linux系统版本 例如:jdk-8u60-linux-x64.tar.gz查看linux系统版本的命令 uname -a 或者 lsb_release -a 确定是64位或者是32位②在user/local/路径下 新建java目录,将本地软件的压缩包上传至对应的目录注意:1.sudo su 命令暂时切换到超级用户模...
2018-11-27 17:14:51
236
原创 随便写的一些网络层的东西
多种加密机制---对应的是HTTP协议与客户端交互时,需要考虑的安全问题https--一种安全的传输协议(ssl ---- secure scoket layer安全的套接层)HTTP与HTTPS都输与应用层的网络传输协议HTTP协议是建立在TCP的协议的基础之上TCP UDP与是传输层网络协议TCP UDP与是都是架在IP网络层之上的只要用到TCP就涉及三次握手和四次挥手...
2018-11-02 14:53:05
239
1
原创 jdk1.8之ArrayyList的源码分析以及扩容机制
本文主要是从JDK1.8的源码加以分析,ArrayList实现过程,以及扩容机制。List的底层实现主要是数据,很多的操作都是从数组演变而来。list每次在调用add()方法添加元素时,arraylist都需要对这个list的容量进行一个判断。如果容量够,直接添加,否则需要进行扩容。在1.8 arraylist这个类中,扩容调用的是grow()方法,通过grow()方法中调用的Ar...
2018-10-17 23:21:39
1090
原创 对最近看的io知识写一些自己的学习心得
io的分类主要是两大类:file io(文件io)与scoket io(网络io)在java语言的发展过程中,由于考虑到并发的问题,效率问题的等多种原因,io从最开始的同步阻塞io(bio)逐渐演变出伪同步非阻塞io,同步非阻塞io(nio),异步非阻塞(aio)BIO(blocking io):同步阻塞io模型,一个线程在处理请求的时候,如果服务器需要长时间去处理该请求,这个线程会处于...
2018-10-11 00:14:21
570
原创 idea破解 2018.2.3
参照这篇文章--注册码可以用https://www.cnblogs.com/zqr99/p/8708069.html如果注册码失效,可以在蓝宇那个网站里申请一个有效时间为一年的注册码在下面的网站下载jar---http://idea.lanyus.com/jar/JetbrainsCrack-3.1-release-enc.jar http://idea.lanyus.com/...
2018-09-07 21:40:06
1700
原创 分析服务器应用jvm调优的几个好的博客
jvm性能调优http://www.cnblogs.com/skyaccross/archive/2012/12/22/2829000.htmlhttps://www.cnblogs.com/sheng-jie/p/9503650.htmlhttps://my.oschina.net/boltwu/blog/717380讲解dump文件的内容https://blog.csdn....
2018-09-07 11:37:02
317
转载 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件
今天安装完MYSQL5.6的版本,根据课本的提示,在CMD里运行,出现了'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。在网上搜了一下,他的解决方法是这样的:1.设置一下环境变量: 右击我的电脑——>属性——>高级系统设置——>环境变量——>系统变量——>Path里添加";C:\Program Files\MySQL\MySQ...
2018-09-06 18:07:28
953
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人