自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 HashedWheelTimer源码浅析

HashedWheelTimer由HashedWheelBucket数组组成,通过newTimeout方法提交任务并启动Worker工作线程,工作线程会不断将新的Timeout加到HashedWheelBucket中,并执行HashedWheelBucket中的Timeout。1.Timeout通过Timeout可以获取关联的Timer和TimerTask。public interface Timeout { Timer timer(); TimerTask task(); b

2021-04-11 22:41:38 140

原创 Timer源码浅析

java.util.Timer主要使用了Timer和TimerTask两个类。Timer内部有TimerThread和TaskQueue两个内部类,在创建Timer对象的时候会启动TimerThread线程,不断地从TaskQueue任务队列中取出头任务并执行,而Timer的各种schedule方法负责把TimerTask加入到队列中,使用了生产者消费者模型。1.TimerTaskpublic abstract class TimerTask implements Runnable { final O

2021-04-09 22:34:04 272

原创 Dubbo SPI机制ExtensionLoader浅析

1.getExtensionLoader返回SPI接口对应的ExtensionLoader// 根据类型查找对应的扩展加载器,如果没有,则创建一个并且加入EXTENSION_LOADERSpublic static <T> ExtensionLoader<T> getExtensionLoader(Class<T> type) { if (type == null) { throw new IllegalArgumentException("

2021-04-03 23:51:32 138

原创 JDK SPI机制ServiceLoader源码浅析

1.load返回创建的ServiceLoader对象清理providerslookupIterator指向创建的LazyIterator对象public static <S> ServiceLoader<S> load(Class<S> service) { // 获取当前线程的上下文类加载器 ClassLoader cl = Thread.currentThread().getContextClassLoader(); return Se

2021-04-03 16:57:46 127

原创 拉勾课程git地址记录

1.300分钟搞懂 Spring Cloudhttps://github.com/yinjihuan/lagou-spring-cloud

2021-02-10 22:20:42 91

原创 Nginx的负载均衡策略

1.轮询(默认)将请求按顺序轮流发送到相应的服务器http { upstream cluster { server 192.168.56.1:8080; server 192.168.56.2:8080; server 192.168.56.3:8080; } server { listen 80; location / { proxy_pass http://cluster; } }}2.最少连接数将请求发送到当前连接数最少的服务器。http { up

2020-10-05 10:54:51 140

原创 SpringAOP的三种方式

1.作用对象public class Person { private Integer id; private String name; // getter setter省略 public void findPerson() { Person person = new Person(1, "JDK"); System.out.println("findperson 被执行"); }}<bean id="person" class

2020-08-27 14:53:21 155

原创 SSM配置文件

1.applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schem

2020-08-16 09:41:54 83

原创 npm安装笔记

参考:https://www.cnblogs.com/goldlong/p/8027997.html查看node版本: node -v查看npm版本: npm -v在nodejs文件夹下建立如下红框内两个目录。然后运行如下2条命令:npm config set prefix “D:\Program Files\nodejs\node_global”npm config set cache “D:\Program Files\nodejs\node_cache”查看目录:npm list -g

2020-08-14 16:20:40 174

原创 linux JDK安装

狂神说JDK、TOMCAT、DOCKER安装

2020-08-07 10:52:00 84

原创 zookeeper基本概念及3.6.0新特性

1.数据模型层次命名空间,像一个分布式文件系统,由节点组成形成一个树结构。每个节点是一个ZNode,可以有数据也可以有孩子节点。每个节点有一个ACL限制谁可以做什么。2.节点类型节点类型主要有持久节点、临时节点、持久序列节点和临时序列节点四种。getEphemerals()可以显示一个会话的所有临时节点。container node和TTL node是3.6.0新增的,容器节点当最后一个孩子被删除后,他就会在不久后被服务器删除。TTL节点如果在TTL时间内没有被修改并且没有孩子节点,也会在不久后被

2020-07-23 12:01:42 895

原创 zookeeper3.6.1客户端指令

1.客户端连接zkCli.shzkCli.sh -server host:port2.显示帮助信息help3.显示节点信息 -s状态 -w监听器 -R递归ls [-s] [-w] [-R] path4.创建节点 -s加序列号 -e临时节点create [-s] [-e] path [data]5.获取节点值 -s状态 -w监听器get [-s] [-w] path6.设置节点值 -s状态set [-s] [-v version] path data7.删除节点

2020-07-18 12:28:51 268

原创 递归算法的分析方法

1.迭代法由T(n)出发,根据问题缩小规模,找出大问题与小问题的关系时,展开计算。2.公式法当递归函数的时间执行函数满足:T(n) = a * T(n/b) + f(n)递归部分的时间复杂度为nlogban^{logb^a}nlogba如果nlogba>f(n)n^{logb^a}>f(n)nlogba>f(n)时间复杂度最终为O(nlogba)O(n^{logb^a})O(nlogba)如果nlogba<f(n)n^{logb^a}<f(n)nlogba&lt

2020-07-12 11:47:28 604

原创 常用的排序算法

1.冒泡排序从第一个数开始,每一个和右边相邻的比较,如果比右边的大,和右边的交换,最终结果是最大的“冒泡”到最右边。右边渐渐有序,向左延伸。public static void sort(int[] nums) { boolean hasChange = true; for (int i=0; i<nums.length-1 && hasChange; i++) { hasChange = false; for (int j=0; j<nums.length-1-

2020-07-09 20:20:00 76

原创 Java中的常用数据结构(未完待续...)

1.Java中常用的数据结构ArrayList、LinkedList、HashMap、HashSet、TreeMap、ConcurrentHashMap2.Collection、List、Iterable、Iteratorpublic interface Iterable<T> { Iterator<T> iterator();}public interface Iterator<E> { boolean hasNext(); E next();}

2020-07-08 20:25:43 134

原创 树的遍历

1.先序中序和后序遍历的递归写法public void preorder(ListNode root) { if (root == null) { return; } System.out.println(root.val); preorder(root.left); preorder(root.right);}public void inorder(ListNode root) { if (root == null) { return; } inorder(root.lef

2020-07-06 19:37:17 100

原创 长度为k的链表翻转

//长度为k的链表翻转public static ListNode reverse(ListNode head, int k) { ListNode curr = head; ListNode prev = null; ListNode next = null; while (curr!=null && k-- > 0) { next = curr.next; curr.next = prev; prev = curr; curr = next; }

2020-07-06 19:31:40 105

原创 javaweb笔记

1.pom依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version></dependency>2.web.xml格式<?xml version="1.0" encoding="UTF-8"?><web-ap

2020-07-05 20:11:18 80

原创 前端知识点

1.onload和readyready是在DOM文档树加载完之后执行,onload还要等所有文件加载完,所以ready比onload先执行。window.onload = function() { alert("onload");}$(document).ready(function() { alert("ready");})2.esriesri.symbol.PictureMarkerSymbol: Marker symbols are used to draw poin

2020-06-29 09:54:18 101

原创 计算机组成原理(1)计算机系统概论

1.计算机的软硬件计算机系统由硬件和软件两大部分组成。硬件指计算机的实体部分,如主机、外部设备等。软件指人们编写的具有某种功能的程序,包括系统软件和应用软件。2.计算机的层次结构3.冯·诺伊曼计算机的特点:计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成指令和数据以同等地位存放于存储器内,并可按地址寻访指令和数据均用二进制表示指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置指令在存储器内按顺序存放。机器以运算器为中心,输入输出设备与

2020-06-26 23:09:43 213

原创 docker笔记

1.卸载旧版本$ yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \

2020-06-13 10:08:05 406

原创 设计模式之创建型模式总结

1.创建型模式主要是创造对象,包括单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式。2.单例模式是将构造器私有化然后通过一个公开接口将自身创建的唯一一个对象提供出去。3.工厂模式包括简单工厂模式和工厂方法模式。简单工厂模式是通过这个工厂直接获取所需产品。工厂方法模式针对每一种产品建立一个工厂,需要去对应的工厂去获得需要的产品。工厂方法模式的扩展性好,但会增加大量的类。在实际使用中,简单工厂模式更实用。4.抽象工厂模式会生产不同的产品族,同一个工厂里会生产不同的产品。5.建造者模式包括蓝图、产品

2020-06-08 22:02:44 155

原创 oracle实用操作

1、查看表空间的名称及大小SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; 2、查看表空间物理文件的名称及大小SELECT tablespace_name, file_id,

2020-06-08 18:01:48 111

原创 redis笔记

1.Stringset get getset exists append strlen incr decr incrby decrby getrange setrangesetex ttl setnxmset mget msetnx

2020-05-30 18:05:33 458

原创 centos出现的问题及解决方法

1.ifconfigyum whatprovides ifconfigyum install net-tools

2020-05-27 15:55:07 548

原创 centos8

1.网络配置vim /etc/sysconfig/network-scripts/ifcfg-enp0s32.网络重启nmcli c reload

2020-05-25 22:21:21 215

原创 多线程笔记

1.线程的创建方法继承Thread类实现Runnable接口(重写run方法)实现Callable接口(重写call方法)2.线程的五大状态新建状态、就绪状态、运行状态、阻塞状态、终止状态3.线程的常用方法睡眠sleep礼让yield插队join优先级setPriority getPriority状态getState守护线程setDaemon(true)停止stop(建议设置flag进行控制)4.同步和锁synchronized 可同步代码块和方法synchorinized(

2020-05-21 23:42:25 119

原创 Oracle踩坑记录(持续更新)

1.使用Oracle SQL Developer时,创建数据表时列名要用双引号,插入数据时每列的值要用单引号。

2020-05-20 16:37:59 132

原创 狂神MySQL课程及笔记汇总

狂神说MySQL课程B站地址:https://www.bilibili.com/video/BV1NJ411J79W公众号笔记1初识MySQL2数据库操作3DML语言4使用DQL查询数据5MySQL函数6事务和索引7权限及如何设计数据库

2020-05-17 10:30:12 16348 1

原创 使用反射获取注解信息

https://www.bilibili.com/video/BV1p4411P7V3根据狂神视频记录。import java.lang.annotation.*;import java.lang.reflect.Field;public class Test1 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { Class<?&g

2020-05-16 18:07:14 89

原创 注解和反射

https://www.bilibili.com/video/BV1p4411P7V3根据狂神视频简单记录。1.内置注解@Override:覆盖@Deprecated:被弃置@SuppressWarnings :压制警告2.元注解@Target:注解的使用范围 ElementType(TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE, PACKAGE)@Retention:注解的生命周期

2020-05-16 18:03:03 146

原创 mysql8密码修改

mysql8修改密码方式ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '123456';

2020-05-14 13:52:29 105

原创 springboot pom依赖汇总(持续更新)

springboot父版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.7.RELEASE</version> <relativePath/> <!-- lookup parent from r

2020-05-11 17:19:42 1005

原创 springboot命名空间汇总(持续更新)

thymeleafxmlns:th=“http://www.thymeleaf.org”

2020-05-11 11:53:43 738

原创 springcloud常用组件简明笔记

1.springcloud依赖<properties> <spring-cloud.version>Hoxton.SR4</spring-cloud.version></properties><dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId>

2020-05-11 11:23:36 828

原创 Circular view path [login]: would dispatch back to the current handler URL [/login] again

springboot2.2.7 @RequestMapping视图跳转失败显示:Circular view path [login]: would dispatch back to the current handler URL [/login] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.

2020-05-11 11:16:34 979

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除