- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 Springboot集成Guava Cache
一、首先导入依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>23.6-jre</version> </dependency>二、guava的配置,那个24指的是24小时
2020-07-13 17:16:03
2902
1
原创 Guava Cache应用以及源码解析
Guava Cache的学习----https://github.com/google/guava一、Guava的适用性二、两种缓存的加载1.第一种CacheLoader方式,返回的是LoadingCache对象,这个对象可以在build的时候对于返回值进行统一的计算2.第二种Callable方式,返回的是Cache对象,get取值的时候可以自定义返回值的计算方式三、源码解析1.LocalCache可以看做是一个类似ConcurrentHashMap高性能的哈希表(其实结
2020-07-13 16:58:58
273
原创 MarkDown的使用
标题在需要的文字前增加#以及一个空格#一级标题## 二级标题效果:一级标题二级标题列表无序列表加- ,有序列表加1.-列表 -列表-列表1. 列表 1. 列表2. 列表效果: 列表 列表 列表 列表 列表 列表 引用在引用文字前加>和一个空...
2020-06-26 18:21:48
86
转载 谈谈你对依赖注入(DI)和控制反转(IoC)的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对IoC的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinnianshil
2020-06-26 18:17:53
387
原创 谈谈你对深拷贝和浅拷贝的理解-Java
一、区别 1. 深拷贝中既要拷贝基本数据类型也要拷贝引用类型的数据,也就是说拷贝一份完全一样的对象。 2. 浅拷贝中之拷贝基本数据类型,引用类型的数据只是拷贝了原来的引用,并没有把引用的数据也拷贝。二、方式1. 深拷贝的一般需要序列化对象,然后根据流进行复制,这样就保证了引用的数据也拷贝了进来。另外还有一种常见的就是将对象中的引用数据递归的浅拷贝,这样得到的对象也是深拷贝,浅显一点就是说:递归浅拷贝=深拷贝2. 浅拷贝一般就是将原型对象实现cloneable接口,然后重写c..
2020-06-26 00:20:17
356
原创 Shiro实战以及源码解析
一、明白什么是认证和授权从百度百科上理解的,感觉非常通俗易懂你要登机,你需要出示你的 passport 和源 ticket,passport 是为了证明你张三确实是你百张三,这就是 认证;而机票是为了证明你张三确实买度了票可以上飞机,这就是 授权。二、shiro的概念1.什么是shiro2.shiro的特性3.shiro的核心组件三、shiro实战debug解析(token是用户输入的,info是从缓存和数据库中查出来的,认证主要做token和info中密码的判等;授权
2020-05-22 14:49:02
616
原创 SpringBoot整合Mybaties
一、引入pom 1.引入jdbc-starter,mybatis-starter,mysql-connector二、改yml yml的配置如下:千万注意那块儿mapper的映射路径的后缀必须是Mapper.xml 三、写业务代码 1.在springboot的启动类的上边添加扫描mapper的注解 2.Mapper层------cl...
2020-04-30 19:24:34
174
原创 SpringBoot整合多数据源(Druid+Mybaties)
SpringBoot整合多数据源(Druid+Mybaties)1.添加pom文件二、改yml三、业务代码1.mapper层,注意要将不同库的Mapper.xml文件分别存放不同的目录!!!2.Dao层,注意要将不同数据库映射的类分开存放四、动态切换数据源的配置层1.将不同数据源映射到不同的DataSource,并加入到容器中2.不同数据源的配置...
2020-04-30 19:16:01
1128
原创 rpm安装mysql
引言之前安装mysql都是直接使用tar包安装,没有用过rpm,今天搞了一台腾讯云服务器,所以想尝试一种新的安装mysql的方式,下面分享安装过程和遇到的问题。第一、下载rpm包官网地址:mysql官网地址第二、上传tar包到指定目录第三、解压tar(注意命令参数)tar -xv...
2020-01-01 13:29:23
506
原创 rpm安装mysql报libc.so.X(GLIBC_XXX)(64bit) is needed by
这个原因和linux本身自带的glibc版本不符合安装要求,可以对glibc进行升级解压:tar xvf glibc-XXX.tar.gz 进入glibc-2.14目录:cd glibc-XXXX 创建build文件夹:mkdir build 进入build目录:cd build 执行:../configure --prefix=/opt/glibc-XXXX 执行:make编译...
2020-01-01 13:07:09
679
转载 关于异步,同步,阻塞,非阻塞的理解(转载)
常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。这个时候你问别人,刚刚代码发起的这个请求是不是一个同步请求,对方一定回答是。这是对的,它确实是。但你要问它为什么是呢?对方一定是这样回答的,“因为发起请求后,代码就卡住不...
2019-07-27 10:27:11
142
转载 vmware虚拟机和centos连接不上
1. VM网络设置点击NAT设置记住网关和子网ip,后面会用2. CentOs网络设置[root@localhost download]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# lsifcfg-ens33 ifdown-eth ifdown-post...
2019-07-11 08:30:31
516
原创 测试-Mockito的使用
一、Mockito简述Mockito的工作原理是通过创建依赖对象的proxy,所有的调用先经过proxy对象,proxy对象拦截了所有的请求再根据预设的返回值进行处理。Mockito包依赖:<dependency> <groupId>org.mockito</groupId> <artifactId>mo...
2019-07-08 21:00:24
325
原创 MySql优化-count(*)和count(列)哪一个更加快
MySql优化-count(*)和count(列)哪一个更加快1. count(列)count(列)的速度是看列的偏移量来决定的,理论上,越靠前的列速度越快,越靠后的列素的越慢。2. count(*)count()的速度不需要靠列的偏移量来统计整个的数据数,所以count()在一般情况下会比count(靠后的列)的速度要快3.综合来看如果count(列),该列非空,或者有索引...
2019-07-01 17:31:54
673
原创 启动zookeeper,但是状态显示报错:Error contacting service. It is probably not running
问题描述:安装zookeeper-3.4.10的时候,启动正常没报错,但zkServer.sh status查看状态的时候却出现错误,如下:ZooKeeper JMX enabled by defaultUsing config: /root/apps/zookeeper-3.4.10/bin/../conf/zoo.cfgError contacting service. It i...
2019-05-28 13:01:27
1157
原创 VMware虚拟机centos克隆完之后网卡eth0的配置以及主机名的配置
配置完这些就可以了第一、配置主机名vim /etc/hostname# 修改主机名hadoop4 第二、配置网卡的MAC地址vi /etc/udev/rules.d/70-persistent-net.rules# 修改成如下的内容SUBSYSTEM=="net",ACTION==...
2019-05-27 14:59:13
444
转载 linux下rpm方式安装mysql
1、下载地址 mysql下载地址http://downloads.mysql.com/archives/community/2、红色是下载的包,用Fz上传到服务器中。用 tar -xvf MySQL-5.6.31-1.linux_glibc2.5.x86_64.rpm-bundle.tar 解压压缩包3、在安装之前一定要检查本机上是否安装mysql服务,可以用m...
2019-05-17 20:43:02
5179
1
原创 css,html,js实用锦囊
一、好看的按钮<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>HTML CSS Exercise CSS3 button</title> <style type="text/css"> button { ...
2019-04-24 21:48:08
141
原创 文件查找以及文件内容查找
一、文件查找 1.which 【所要查询的关键字】 which指令会在环境变量$PATH设置的目录里查找符合条件的文件。 2.whereis 【所要查询的关键字】 在which的基础上还可以查找到该执行文件的别名 3.find 所要查询的目标路径 选项 【所要查询的内容】 ...
2019-01-08 12:37:46
4029
原创 将mac os 中的mysql 彻底删除
执行下列命令sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* rm -rf ~/Library/PreferencePanes/My* sudo rm -rf...
2018-12-30 20:29:10
441
原创 今日头条面试
问题:矿泉水1块钱1瓶,喝完以后,2个空瓶子可以换一瓶新矿泉水。问:花10块钱最后最多能得多少瓶矿泉水。 解答:public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt();...
2018-12-28 20:52:42
388
原创 毕业设计
1.搭建eclipse,思考基本功能实现基本功能:2.考虑用不用maven,导jar包容易一些3.前后端交互,(登陆,注册,,,,,,,,)4.富文本 说明:登陆和注册页面可以相互跳转标签和内容的增删改查 git@github.com:liuxw888/KnowledgeManage.git ...
2018-12-27 12:12:31
280
原创 搜狐畅游2019校招笔试题-游戏开发工程师(java)
题目描述:一组无序的自然数集合,由0,1,2,,,,n的数字和一个的数字X组成,请从集合中找出这个重复的数字X。例子:输入:1 2 3 1 4输出:1 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in)...
2018-12-27 10:44:00
837
原创 锁对象,无锁,偏向锁,轻量级锁,重量级锁
1.对象的hashcode和hashcode()返回的值是否是一回事应该是一回事,我的理解就是,这个hashcode是在对象无锁的状态下标记的,Java类,在被JVM加载的时候,JVM会给这个类创建一个instanceKlass,保存在方法区,用来在JVM层表示该Java类。当我们在Java代码中,使用new创建一个对象的时候,JVM会创建一个instanceOopDesc对象,这个对象中包含了...
2018-11-22 17:42:36
477
原创 实践宝典
Mac下查看已安装的jdk版本及其安装目录:https://blog.csdn.net/caoxiaohong1005/article/details/73611424 如何将List集合中相同属性的对象合并:https://blog.csdn.net/qq_34383019/article/details/79780322...
2018-11-19 16:38:41
132
原创 谈一谈你对多线程的理解
谈一谈你对多线程的理解什么线程,线程和进程的区别是什么?线程的生命周期有哪些?单线程和多线程?线程池有哪些?1.什么线程,线程和进程的区别是什么?线程可以看作是cpu运行的基本的基本单位,进程可以看作是运行资源的基本单位。程序的一次执行就可以看作是一个进程。进程中又包含了许多的线程,进程之间的内存不可以共享,线程之间共享进程的内存。2. 线程的生命周期有哪些?当我们new...
2018-11-18 15:21:55
5861
1
原创 spring和springmvc容器的关系
spring容器是springmvc的父容器本着父容器不可访问子容器中父容器没有的内容,子容器可以访问父容器中有的内容,所以在配置扫描包的时候,spring容器可以扫描到dao,service,但不可以扫描到controllerspringmvc容器可以扫描到dao,service,还有controller ...
2018-10-08 09:44:32
215
原创 mybatis工程遇到的问题
一、mybatis逆向工程运行成功却没有生成相应的包和文件1.解决办法 原因:逆向工程中的路径问题,windows和mac等的文件系统路径不同mac和Linux下应该使用./,windows下应该使用.\ ...
2018-10-07 19:54:06
140
原创 解决公司内部pom文件不能访问外部中央仓库的问题
那这个时候,赶紧去指定的settings.xml文件添加mirror地址(经测试,http://repo2.maven.org/maven2/可用):<mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name f...
2018-10-06 14:21:26
814
原创 爱奇艺2018年秋招
/** * 清雨又在吃自助餐了。 * * 排在清雨面前的有N种食物,排成一排,清雨可以选择其中的若干种食物, 但是不能连续选择相邻的食物。因为清雨很挑食,当所有食物都不合口味时, 他可以一种都不选,即一个都不选也算为一种方法。 * * 请问他有多少种选择食物的方法呢? */ public class Main { public static void ...
2018-09-28 20:39:23
262
2
原创 Arrays类
一、Arrays.asList ------------ 该方法用于将数组转换成动态数组List集合,并且将数组和list集合联系在一起 1.尤其要注意下边的三点 1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新 (3)不支...
2018-09-25 09:55:04
1624
2
原创 redis
1.redis是什么?Redis是一个key-value的数据库,先存到内存中去,会根据一定的策略持久化到磁盘中去,即使断电也不会丢失数据。支持的类型比较多。是内存级别的缓存。常用来作为中央缓存来存放session,还有做数据库缓存。2.Redis使用场景A.计数器: redis中的计数器是原子性的内存操作,可以解决库存溢出的问题。B.数据库缓存3.Redis对...
2018-09-23 19:05:25
125
原创 linux常用的命令
一、系统命令1.pwd------获取到当前的路径2.su -u ----切换到管理员二、文件操作命令 1.文件 tail 查看 rm -rf 删除 vi 修改 2.文件夹 mkdir -p rm -r...
2018-09-23 17:54:59
144
转载 深入理解四种数据库索引类型(- 唯一索引/非唯一索引 - 主键索引(主索引) - 聚集索引/非聚集索引 - 组合索引)
深入理解四种数据库索引类型(- 唯一索引/非唯一索引 - 主键索引(主索引) - 聚集索引/非聚集索引 - 组合索引)唯一索引/非唯一索引 主键索引(主索引) 聚集索引/非聚集索引 组合索引唯一索引/非唯一索引唯一索引1.唯一索引是在表上一个或者多个字段组合建立的索引,这个或者这些字段的值组合起来在表中不可以重复。非唯一索引2.非唯一索引是在表上一个或者多个字段组合建立...
2018-09-14 14:22:33
2092
转载 cas解析
JAVA CAS原理、unsafe、AQSconcurrent包的实现由于java的CAS同时具有 volatile 读和volatile写的内存语义,因此Java线程之间的通信现在有了下面四种方式:A线程写volatile变量,随后B线程读这个volatile变量。 A线程写volatile变量,随后B线程用CAS更新这个volatile变量。 A线程用CAS更新一个volati...
2018-08-15 14:15:08
249
原创 Brew 卸载MySql以及安装Mysql
卸载: 1.brew remove mysql 2.brew cleanup 3.launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist 4.rm ~/Library/LaunchAgents/com.mysql.mysqld.plist 5.sudo rm -rf /usr/...
2018-08-05 18:57:13
21006
1
原创 JVM基础
一.JVM基础1.jvm是什么?屏蔽了底层硬件,指令层面的细节。负责连接字节码和机器之间。2.为什么要学习JVM?方便了内存管理,不用程序员管理内存管理。但是,如果内存管理出问题,比如内存溢出啥的,就需要程序员去解决,就必须要学习JVM。二、运行时数据区1.java运行的时候,各个数据区市怎么运行的。 方法区:存储数据的类信息,meta信息,常量,stati...
2018-07-28 15:33:11
124
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人