- 博客(38)
- 收藏
- 关注
原创 linux远程查看日志
使用ssh查看是否已生成ssh keyls -al ~/.ssh如果输出内容里边包含(其中id_rsa是私钥,id_rsa.pub是公钥),则直接跳转到第二步:若未生成则输入以下命令生成:ssh-keygen这时会生成id_rsa,id_rsa.pub两个文件,远程服务器配置好id_rsa.pub,则可以直接访问了。...
2021-10-28 20:54:00
620
原创 多线程(一)
1、多线程七大参数:corePoolSize核心线程数(正式员工),maximumPoolSize(正式员工和可调度的外包员工的总合)keepAliveTime非核心线程数的存活时间unit非核心线程数的存活时间单位workQueue任务队列threadFactory 线程工厂RejectedExecutionHandler 拒绝策略多线程中有两种类型的线程干活,核心线程和非核心线程,核心线程数相当于正式员工,非核心线程相当于外包员工,最大线程数=正式员工和
2021-10-13 16:01:12
267
原创 2021-03-01
常见的面试必备之MySQL索引底层原理分析:MySQL索引的本质 MySQL索引的底层原理 MySQL索引的实战经验面试1)问题:数据库中最常见的慢查询优化方式是什么? 回答:加索引2)问题:为什么加索引能优化慢查询? 回答:因为索引是一种优化查询的数据结构,比如MySQL中的索引是B+树实现的,而B+树就是一种数据结构,可以优化查询速度,可以利用索引快速查找数据,所以能优化查询!3)你知道哪些数据结构可以提高查询速度? 回答:哈希表、完全平衡二叉搜索树、B树、B+树
2021-03-01 23:37:36
112
原创 分布式服务架构
Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。支持AP/CP/CAPZookeeper支持CP,而Eureka支持AP,nacos支持全部。官方网址:http://nacos.ionacos作为注册中心1.先在官网上下载nacos中间件https://nacos.io/zh-cn/docs/quick-start.html服务注册中心原理:心跳检查:每一个实..
2021-03-01 23:05:52
279
原创 springBoot 自动装配原理
springBoot 自动装配:1.@Import:导入一个普通类 @Import(){xxx.class}2.@EnableAutoConfig 自动装配springBoot自动流程:1.jar的启动流程2.war的启动流程
2021-03-01 21:30:12
72
原创 Redis理解
Rediscover遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。1. Redis 单线程,IO多路复用2....
2021-02-28 20:20:25
52
原创 jvm内存模型及jvm调优
JVM 内存模型堆:1.年轻代:Eden(800M),s0(100M) ,s1(100M)2.老年代:年龄达到15岁的对象放入老年代。b)过大的对象直接放入老年代。为了避免为大对象分配内存时的复制操作而降低效率。c)对象动态年龄判断。d)minor gc后存活的对象在survivor区放不下e)老年代空间分配担保机制。年轻代每次minor gc之前jvm都会计算老年代剩余可用空间,如果小于年轻代里所有对象大小之和(包括垃圾对象)查看设置的平境大小的参数,若大于就会触...
2021-02-27 13:21:12
183
转载 关于Ajax跨域提交时session丢失的问题
今天在工作中遇到了一个问题,就是当使用ajax和jsonp进行跨域时,每一服务器都会在cookie里set一个新的sessionId,会将原有的sessionId覆盖,也就是说客户端对于服务器来说始终处于未登录状态,我使用谷歌浏览器是没有问题的,但是IE有问题,在ie出问题的原因是浏览器中的cookie值在ajax跨域提交时没有带过去,就会造成服务器获取不到cookie中的sessionId,效果...
2018-12-20 13:23:57
530
原创 SpringAop实现切面
首先自定义注解@Login,后面在需要用到切面的方法上加上这个注解即可使用其功能。package com.example.config;import java.lang.annotation.*;@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface L...
2018-12-15 18:37:38
311
转载 springboot整合mybatis
依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> &
2018-12-15 15:26:36
95
原创 线程泄
线程泄的基本要素:1)任务队列2)线程泄:管理线程 initThread <=core<=maxThread3)拒绝策略5)QueueSize 6)时间间隔 2.线程泄框架ecutors介绍和使用3.Executors源码分析线程泄不建议用Executors去创建,因为这个方法底层调用的是ThreadPoolExecutor...
2018-12-10 22:16:21
164
转载 linux如何查看端口被哪个进程占用?
http://jingyan.baidu.com/article/546ae1853947b71149f28cb7.html 1、lsof -i:端口号2、netstat -tunlp|grep 端口号都可以查看指定端口被哪个进程占用的情况工具/原料 linux,windows xshell 方法/步骤 【步骤一】lsof -...
2018-12-07 11:15:50
111
原创 大括号{}的意义与静态代码块与构造函数的加载关系
public class A { static { System.out.println("staticA"); } public A() { System.out.println("Constuctor A"); } { System.out.println("{}A"); } public...
2018-12-05 13:57:18
168
转载 mybatis源码
MyBatis的主要成员Configuration MyBatis所有的配置信息都保存在Configuration对象之中,配置文件中的大部分配置都会存储到该类中 SqlSession 作为MyBatis工作的主要顶层API,表示和数据库交互时的会话,完成必要数据库增删改查功能 Executor MyBatis执行器,是MyB...
2018-12-03 21:19:00
162
转载 linux命令总结之ip命令
转载自:https://www.cnblogs.com/ginvip/p/6367803.htmlLinux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一...
2018-11-27 15:38:45
154
原创 linux学习 之一
1. 登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需要root密码)或sudo -i 不需要root密码直接切换成root(需要当前用户密码) 2. 在usr目录下建立java安装目录cd /usrmkdir java 3.将jdk-8u60-linux-x64.tar.gz拷贝到java目录下cp /mnt/hg...
2018-11-27 15:18:38
90
原创 java反射
public class ReflectionTest { public static void main(String []args){ try { Class clz = Class.forName("HelloWord"); Method method = clz.getMethod("search",String....
2018-11-26 19:59:17
83
转载 ConcurrentHashMap原理分析(1.7与1.8)
以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,所以HashMap是线程不安全的。...
2018-11-26 18:56:47
85
转载 HashMap原理
数据结构中有数组和链表这两个结构来存储数据。 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。 综合这两者的优点,摒弃缺点,哈希表就诞生了,既满足了数据查找方面的特点...
2018-11-26 15:10:31
72
原创 activeMQ---入门
首先到官网下载http://activemq.apache.org/打开bin-选择自己电脑对应的版本的bat,双击运行此时访问本机http://localhost:8161 需要登陆,用户名和密码都是:admin 此时控制台启动成功。创建项目,普通 java项目,引入activeMQ依赖下面编写生产者类public class JMSProducer {...
2018-11-25 13:55:07
93
转载 Redise为什么这么快
尊重版权:文章转载自:https://blog.csdn.net/chenya一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也...
2018-11-21 10:04:43
161
转载 JAVA设计模式总结之23种设计模式
一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的...
2018-11-09 17:25:01
126
转载 [LeetCode] Generate Parentheses 生成括号
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())", "(())()", "()(())", "()()(...
2018-11-07 23:37:07
66
原创 笔试题梳理记录
1.什么是死锁?产生的条件是什么?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。死锁的发生必须满足以下四个条件:- 互斥条件:一个资源每次只能被一个进程使用。- 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。- 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。- 循环等待条件:若干...
2018-11-07 21:43:43
102
转载 6种负载均衡算法
1、轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2、随机法 通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。3、源地址哈...
2018-11-07 21:36:40
118
转载 java程序的各类
Application―Java应用程序”是可以独立运行的Java程序。由Java解释器控制执行。Applet ―Java小程序”不能独立运行(嵌入到Web页中)。 由Java兼容浏览器控制执行。Serverlets是Java技术对CGI 编程的解决方案。是运行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求和在server上的...
2018-11-05 19:06:17
87
转载 字符常量和字符串常量的区别
字符常量有两种:一种是普通字符,即用单撇号括起来的一个字符,如'b' ,'y',‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。另一种是转义字符,即特殊字符常量。转移字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义字符串常量:定义:用双引号(“”)括起来的0个或者多个字符组成的序列存储:每个字符串尾自动加一个 ‘\0...
2018-11-05 19:00:51
15645
原创 重写与重载,多态,继承之间的区别与联系
父子之间是重写(Overriding),同一个类中是重载(Overloading)重载是多态的一种表现,继承中可能存在重写(或者叫覆盖)重写方法的规则:1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>pro...
2018-11-05 18:56:30
731
原创 java中的几个+
1.num +=i 相当于 num = num + i; 如下图:i = 0,num = 0+0 =0; i=1,num = 0+1=1...... 3. i = i ++ ; 这是后加加,相当于把i先赋值后再加1 ,可以看到i 永远都没 有加1; 3. i = ++ i; 前加加, 相当于把 i 先加1 后再赋值,可以看到最终的结果是加1后的结果。总结: 前加...
2018-11-03 23:46:21
228
原创 java局部变量,中间缓存
此程序运行的结果是:0。这个结果令我非常困惑,令我困惑的问题有两个:为什么调用fermin函数后,不影响i的值? i=i++;i的值为什么是0?关于第一个问题的解答如下:java方法之间的参数传递是值传递而不是引用传递 每个方法都会有一个栈帧,栈帧是方法运行时的数据结构。这就是说每个方法都有自己独享的局部变量表。(更严谨的说法其实是每个线程在执行每个方法时都有自己的栈帧,或者叫当...
2018-11-03 22:49:09
218
转载 Dubbo详细学习
一、Dubbo是什么官方定义DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。详细理解,就是Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入...
2018-10-29 21:58:58
161
原创 Spring NoSuchBeanDefinitionException原因
在用注解@autowire注入bean时抛异常Spring NoSuchBeanDefinitionException....此异常为bean没有在容器中管理,没有办法找到的原因,1.在用@component注解在类上时,用@autowired在变量上,可以加上@qualifier("xxxx") 进持注入管理2.检查容器扫描路径中是否包含此bean 的包路径3.框架自带的API ...
2018-10-29 17:10:38
780
原创 springBoot自带的发送HTTP请求的API
springboot管理的项目,自动发送HTTP请一个自动网页获取图片链接,首先考虑到用HTTPClient API,经同事指点用了springboot自带的API,代码非常简洁,两行代码如下。RestTemplate restTemplate = new RestTemplate;String forObject = restTemplate.getForObject(url,Strin...
2018-10-29 16:57:53
15983
转载 java8新的时间日期库及使用示例
转载:https://www.cnblogs.com/comeboo/p/5378922.html链接:http://it.deepinmind.com/java/2015/03/17/20-examples-of-date-and-time-api-from-Java8.html英文:http://javarevisited.blogspot.sg/2015/03/20-examples...
2018-10-26 22:47:47
99
转载 写代码简单比较init-method,afterPropertiesSet和BeanPostProcessor
1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext.xml配置文档中bean的定义里头写明。例如:<bean id="TestBean" class="nju.software.xkxt.util.TestBean" init-method="init"></bean...
2018-04-22 14:04:08
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人