- 博客(24)
- 收藏
- 关注
原创 mysql8.0.27基于二进制文件的主从复制
首先准备两台服务器(或两个mysql)一个主一个从192.168.2.161192.168.2.162mysql> select version();+-------------------------+| version() |+-------------------------+| 8.0.27-0ubuntu0.20.04.1 |+-------------------------+1 row in set (0.00 sec)1.配置服务器
2022-01-25 21:35:41 1117 2
原创 ubuntu18 安装k8s
k8s查看token,discovery-token-ca-cert-hashdiscovery-token-ca-cert-hash:openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'token:kubeadm token list生成token:kubeadm
2021-10-25 18:58:34 492
原创 ubuntu root账户登陆
更改root账号密码sudo passwd root其配置在 sshd_config文件中,进行编辑:vi /etc/ssh/sshd_config找到PermitRootLogin 添加一行 PermitRootLogin yes,如下:Authentication:#LoginGraceTime 2m#PermitRootLogin prohibit-passwordPermitRootLogin yes#StrictModes yes#MaxAuthTries 6#MaxSessio
2021-07-15 10:29:48 200
原创 翻过的傻
1.2021.05.24 写了个mybatis的MapTypeHandler,插入数据没有问题,可以走TypeHandler的setParameter方法,但是获取数据总是获取不到数据,同时也不走getResult方法。debug DefaultResultSetHandler的applyAutomaticMappings方法发现typeHandler变成了原来写的另外一个包的MapTypeHandler。由此说明在setParameter时的TypeHandler是有包名等路径的,在getResult时T
2021-05-24 18:20:38 119
原创 springcloud gateway的坑
1.Forward Routing Filter 文档是这样写的The ForwardRoutingFilter looks for a URI in the exchange attribute ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR. If the URL has a forward scheme (such as forward:///localendpoint), it uses the Spring DispatcherHandler t
2021-05-21 10:32:11 957
原创 DispatcherServlet 源码解析
protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception { //log记录request日志 logRequest(request); // Keep a snapshot of the request attributes in case of an include, // to be able to restore the original a
2020-11-03 13:06:33 148
原创 选择排序算法
1.原理:从开始位置遍历,找出最小值和最小值的位置,然后和第一个数交换。然后再从第二个数向后遍历找出次小值和位置,和第二个数交换位置,以次比例直至完成。2.代码/** * 选择排序 */public class SelectSort { public static void main(String[] args) { int[] array = new int[]{6546,54654,4654654,4544,2132,224,2432,44,4525,465465,4
2020-09-15 18:08:08 102
原创 插入排序
1.原理:从原数组中依次取出数据,按照大小找到新数组的位置,然后插入进去2.代码实现/** * 插入排序 */public class InsertSort { public static void main(String[] args) { int[] array = new int[]{6546,54654,4654654,4544,2132,224,2432,44,4525,465465,46,6446,44646}; int[] temp = in
2020-09-15 17:56:13 79
原创 快速排序
1.原理:寻找一个基准值base(通常为左侧第一个数据),双向遍历,比如:i是从左向右遍历,j是从右向左遍历,如果i遍历到i的值大于base则停止,同样j遍历到j的值小于base则停止,然后交换i和j位置上的值。i和j继续遍历,直至i大于j。此时下标i左侧数据都小于等于base值,右侧数据都大于base值,左侧第一个数据是左侧最大值。交换i位置和基准值的位置。然后用同样的方法遍历左侧数据和右侧数据,直至没有数据可遍历即完成。2.代码/** * 快速排序 */public class QuickSo
2020-09-15 17:08:40 105
原创 冒泡排序算法
1.原理:从头部开始遍历,如果相邻的两个数左边大于右边,互换位置。第一遍之后最右边的数字是最大的。然后遍历第二次直到最后一位的前一位,这样倒数第二位就是第二大的了。依次遍历,最后排序成功。是最稳定的排序算法。时间复杂度为O(n2)2.代码/** * 冒泡排序算法 */public class BubbleSort { public static void main(String[] args) { int[] array = new int[]{30,20,65,11,2
2020-09-15 16:23:30 98
原创 java ArrayList
最大size为Integer.MAX_VALUE - 8,因为有些vm的头部信息保存在数组中。如果最大长度为Integer.MAX_VALUE的话可能会报错OutOfMemoryError/** * The maximum size of array to allocate. * Some VMs reserve some header words in an array. * Attempts to allocate larger arrays may result in
2020-09-15 14:23:47 87
原创 spring 小问题
1.springioc循环依赖如果主要使用构造函数注入,则可能会创建无法解决的循环依赖方案。例如:A类通过构造函数注入需要B类的实例,而B类通过构造函数注入需要A类的实例。如果您将A类和B类的bean配置为相互注入,则Spring IoC容器会在运行时检测到此循环引用,并抛出 BeanCurrentlyInCreationException。一种可能的解决方案是编辑某些类的源代码,这些类的源代码由设置者而不是构造函数来配置。或者,避免构造函数注入,而仅使用setter注入。换句话说,尽管不建议这样做,
2020-09-14 15:51:06 88
原创 java 线程池
1.线程池的优点1.减少了每个任务创建的开销,通常在处理大量异步任务时提高了性能2.提供了绑定和管理执行任务集合的方法,还维护了一些执行的统计信息,比如:完成的任务数2.核心线程数和最大线程数ThreadPoolExecutor将根据corePoolSize和maximumPoolSize)设置的界限自动调整池大小(getPoolSize)。在方法execute(Runnable)中提交新任务时,如果运行的线程少于corePoolSize线程,则会创建一个新线程来处理该请求,即使其他工作线程处于空闲
2020-09-14 12:55:56 115 1
原创 ubuntu 18 部署redis集群
修改redis配置文件 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000然后重启每个redis。在其中一个执行redis-cli -a redis --cluster create 192.168.1.151:6379 192.168.1.152:6379 192.168.1.151:6379 192.168.1.153:6379 192.168.1.154:6379 192.168
2020-09-07 22:02:33 155
原创 ubuntu18 安装redis
1.下载 sudo wget http://download.redis.io/releases/redis-6.0.6.tar.gz2.解压 sudo tar xzf redis-6.0.6.tar.gzcd redis-6.0.63.编译 make make install4.复制redis.conf 到/etc/redis/6379.config中 sudo cp redis.conf /etc/redis/6379.conf5.进入utils目录复制redis_init_scri
2020-09-07 17:34:33 255
原创 redis集群一致性
Redis 并不能保证数据的强一致性. 这意味这在实际中集群在特定的条件下可能会丢失写操作.第一个原因是因为集群是用了异步复制. 写操作过程:客户端向主节点B写入一条命令.主节点B向客户端回复命令状态.主节点将写操作复制给他得从节点 B1, B2 和 B3.主节点对命令的复制工作发生在返回命令回复之后, 因为如果每次处理命令请求都需要等待复制操作完成的话, 那么主节点处理命令请求的速度将极大地降低 —— 我们必须在性能和一致性之间做出权衡。 注意:Redis 集群可能会在将来提供同步写的方法。 R
2020-09-06 22:11:06 555
原创 redis淘汰策略
1.配置项redis.conf文件中maxmemory 选项,在64为机器上如果设置的为0则没有内存限制,而32位系统使用3GB的隐式内存限制。当达到内存限制时,通过配置的策略进行淘汰。maxmemory-policy 为淘汰策略配置项maxmemory-samples 5 lru样本数2.淘汰策略 noeviction:在达到内存限制并且客户端尝试执行可能导致使用更多内存的命令时返回错误(大多数写入命令)。allkeys-lru:删除最近使用比较少的keyvolatile-lru:删除最近使
2020-09-02 11:13:56 154
原创 ubuntu 18 安装mysql 5.7
1.系统更新完毕后执行MySQL安装命令:sudo apt install mysql-server2.查看MySQL服务状态:sudo service mysql status3.设置密码:set password for ‘root’@‘localhost’ = password(‘1234’);4.远程登录:GRANT ALL PRIVILEGES ON . TO ‘root’@’%‘IDENTIFIED BY ‘密码’ WITH GRANT OPTION;刷新配置:flush privile
2020-06-29 22:55:24 148
原创 分库分表数据库的扩容
现在做互联网开发的不懂点分布式,不懂点分库分表都不好意思说自己是互联网搬砖人员。昨晚经常性失眠,根据前几天看的redis原理想到一个数据库的扩容方案。 一般分库分表都是基于一个字段或者多个字段组合的hash值进行取模运算进行分库分表的,说一个普通的,比如订单表进行分库分表,以订单id为key进行hash运算得到a=hash(id),数据库的数量为d,表的数量为t。b=a%d,则b是数据库的下标...
2020-01-06 16:16:23 359
原创 SqlSessionFactoryBean
实现了FactoryBean<SqlSessionFactory>, InitializingBean, ApplicationListener<ApplicationEvent>实现FactoryBean<SqlSessionFactory> 返回SqlSessionFactory @Override public SqlSessionFactory ...
2019-02-19 14:47:27 647
原创 MybatisAutoConfiguration
当jvm加载SqlSessionFactory.class, SqlSessionFactoryBean.class,spring加载DataSource.class bean ,spring加载MybatisProperties.class参数时public MybatisAutoConfiguration(MybatisProperties properties, ...
2019-02-19 14:47:14 594
原创 DefaultSqlSessionFactory
private final Configuration configuration; public DefaultSqlSessionFactory(Configuration configuration) { this.configuration = configuration; }上边的构造方法是在SqlSessionFactoryBuilder中用到了,用法为 pub...
2019-02-14 10:33:38 1780
原创 Mybatis SqlSessionManager
SqlSessionManager 实现了SqlSessionFactory和SqlSession, private final SqlSessionFactory sqlSessionFactory;//session工厂类 private final SqlSession sqlSessionProxy;//session 代理 private final ThreadLoca...
2019-02-13 15:43:01 751
原创 java HashMap学习
首先 HashMap 继承了AbstractMap ,实现了Cloneable Serializable 和Map 接口。 /** * The default initial capacity - MUST be a power of two. */ //设置map初始长度 static final int DEFAULT_INITIAL_...
2019-01-10 15:58:25 171 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人