- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 ThreadLocal知识总结
1、ThreadLocal介绍:多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安全的方法,当我们在创建一个变量后,如果每个线程对其进行访问的时候访问的都是线程自己的变量这样就不会存在线程不安全问题。ThreadLocal使用demo:public class ThreadLoac
2021-12-22 19:56:46
288
原创 高效维持长连接的方案
高效维持长连接额方案1、进程保活2、心跳保活机制3、断线重连机制(网络状态变化时 连接断开时候&无效时)详细描述方法1: 进程保活
2021-08-12 13:46:30
337
原创 MySQL性能分析
1、使用Explain分析查询语句或表结构性能用法 :explain+SQL语句1、id 表示查询中执行select子句或者操作表的顺序1、id相同,执行顺序由上到下2、id不同,如果是子查询,id的序号回递增,id越大,执行优先级越高2、select_type:查询的类型,主要用于区别普通查询、联合查询、子查询、复杂查询 1、SIMPLE:简单的select查询,查询中不包含子查询或者union 2、PRIMARY:查询中包含任何复杂的子部分,最外层查询则被标记为PRIMARY 3、S
2021-03-29 14:06:58
342
转载 ZooKeeper学习与总结
zookeeper:1.1 概念:zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。eg:Dubbo架构中zookeeper中担任注册中心这一角色。2.1重要概念:zookeeper本身就是一个分布式程序(只要半数以上节点存活,zookeeper就能正常服务)为了保证高可用,最好是以集群来部署zk,这样只要集群中大部分机器是可用的(能
2021-01-28 20:11:37
422
1
原创 Redis学习与命令
1、TTL key:查看一个key的过期时间,若返回值为-1则为永不过期,为-2表示这个key不存在,返回正常的正数就表示正常的过期时间。2、expire key seconds:为一个key设置过期时间,设置的单位是秒成功会返回1.当key不存在或者是不能设置的时候返回0。3、persist key:移除给定key的生存空间,将这个Key从“易失的”转为“持久的”(一个不带生存时间、永不过去的key)。当设置成功时返回1,若果key不存在或者没有设置生成空间,返回0。4、rename key ne
2021-01-25 14:22:13
463
原创 NIO相关的知识
阻塞I/O的概念:非阻塞I/O的概念:Java中的NIO:NIO主要有三大核心部分:Channel(通道)、Buffer(缓冲区)、Selector。传统IO是基于字节流和字符流进行操作。而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者是从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件 (比如:连接打开、数据到达)。因此,单个线程可以监听多个数据通道。一个小demo如下: public static void m.
2020-12-30 14:00:05
171
原创 毕设问题汇总
1、在项目中在每个RestApi中第一个参数的@Validated只是给这个接口标记一下eg:@Validated({update.class})是和实体类上属性的eg:@IdValid(groups ={update.class})对应着,意味着这个api接口的参数要执行这个@IdValid方法的校验,然后api接口的第三个参数BindingResult的作用是:bindResult.hasErrors()判断是否校验通过,校验未通bingdingResult.getFiledError().getD
2020-12-28 15:29:35
851
1
原创 nginx学习笔记
Nginx功能介绍1、 正向代理与反向代理反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理 服务器反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求转发到 反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是反向代理服务器的地址,隐藏了真实服务器的地址。反向代理如下:范例:使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:808
2020-12-22 14:10:59
255
转载 mybatis-plus使用方法
1、mybatis-plus入门教程 https://www.jianshu.com/p/ceb1df4750212、mybatis-plus进阶教程 https://www.jianshu.com/p/a4d5d310daf8
2020-12-21 15:35:05
181
转载 证券交易的基本流程是怎样的?
在证券交易所市场,证券交易的基本过程包括开户、委托、成交、结算等几个步骤。一、开户开户有两个方面,即开立证券账户和开立资金账户。证券账户用来记载投资者所持有的证券种类、数量和相应的变动情况,资金账户则用来记载和反映投资者买卖证券的货币收付和结存数额。开立证券账户和资金账户后,投资者买卖证券所涉及的证券、资金变化就会从相应的账户中得到反映。例如,某投资者买入甲股票1000股,包括股票价格和交易税费的总费用为10000元,则投资者的证券账户上就会增加甲股票1000股,资金账户上就会减少10000元。二、
2020-12-18 13:52:41
8936
原创 ES-windows版本设置远程访问
1,官网下载2,下载完解压3,修改配置文件 elasticsearch.ymlnetwork.host: 0.0.0.0http.port: 9200transport.host: localhosttransport.tcp.port: 9300
2020-12-11 13:57:36
1148
1
转载 springboot整合mybatis实现分页操作———pagehelper
https://www.cnblogs.com/xifengxiaoma/p/11027551.html
2020-10-29 15:07:06
197
原创 综合知识查缺补漏
线程相关1、线程局部变量 ThreadLocalThreadLocal 的作用和目的:用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。每个线程调用全局 ThreadLocal 对象的 set 方法,在 set 方法中,首先根据当前线程获取当前线程的ThreadLocalMap 对象,然后往这个 map 中插入一条记录,key 其实是 ThreadLocal 对象,value 是各自的 set方法传进去的值。也就是每
2020-09-22 16:13:44
320
原创 用数组模拟队列的实现
public class ArrayQueueDemo { class ArrayQueue{ private int maxSize;//表示数组的最大容量 private int front;//队列头 private int rear;//队列尾 private int[] arr;//该数组用于存放数据,模拟队列 public ArrayQueue(int arrMaxSize){
2020-09-15 09:31:08
195
原创 稀疏数组的创建和转换——模拟棋盘
public class SparseArray { //稀疏数组的创建和转换 public static void main(String[] args) { //创建一个原始的二维数组11*11 //0:表示没有棋子,1表示黑子 2表示蓝子 int chessArr1[][]=new int[11][11]; chessArr1[1][2]=1; chessArr1[2][3]=2; che
2020-09-15 08:13:59
176
原创 springboot-安全
代码部分:`package com.atguigu.security.config;import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springfram...
2020-09-07 08:46:06
119
原创 springboot与安全
代码部分:`package com.atguigu.security.config;import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springfram...
2020-09-06 22:03:45
122
原创 Docker相关命令整理
进入到容器docker container exec -it 容器id /bin/bash或者docker container exec -it 容器id /bin/sh默认情况下软件安装的目录的/ect目录下Exit
2020-09-06 15:15:22
162
原创 rabbitMQ相关的知识
整合:在springbooy程序中用rabbitMQ要使用rabbitTemplate来发送和接收发送的方法是:rebbitTemplate.send等和converAndSend等方法来方法接收的方法是:rebbitTemplate.receiverAndConvert等方法来可以自己配置rabbitAutoConfiguration来自己配置信息的序列化方法@Enablerabbit注解的作用:开启rabbitMQ注解的使用(在主程序的位置开启)@rabbitListener(...
2020-09-06 10:38:54
302
原创 springboot缓冲技术
springboot缓冲技术1、JSR1072、spring缓冲抽象3、 缓冲注解@Cacheable :主要针对方法配置,能够根据方法的请求参数对其结果进行缓冲@cacheEvict:清空缓冲@Cacheput:保证方法被调用,又希望结果被缓冲@EnableCaching:开启基于注解的缓冲keyGenerator:缓冲数据时ket生成策略serialize:缓冲数据时value序列化策略...
2020-09-04 19:34:21
180
原创 Maven相关知识总结
Maven:1、Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。2、Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。Maven命令:3.3 mvn compile 完成编译操作执行完毕后,会生成target目录,该目录中存放了编译后的字节码文件。3.4 mvn clean执行完毕后,会将target目录删除。3.4 mvn test完成单元测试操作执行完毕后,会在target目录
2020-08-12 21:03:44
240
原创 SSM项目中遇到乱码问题的解决
在web.xml加入如下的内容<!-- 配置编码过滤器 --> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-na
2020-08-11 21:43:52
209
原创 java-斗地主小案例(方法二)
```javapackage DemoCase.YouXuDouDiZhu;import wangjiabao.demo5.Array;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;public class Douma...
2020-03-08 21:58:49
153
原创 Java小练习-计算一个字符出现的个数
package DemoCase.TongJiZiFuDeShuLiang;import java.util.*;public class TestDemo { public static void main(String[] args) { //1、手动随机输入一个字符串 Scanner sc=new Scanner(System.in); ...
2020-03-08 18:05:22
227
原创 C语言课设案例-万年历代码实现
#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<string.h>#include<conio.h>struct Customer{ char userid[20]; char pwd[20]; char name[20]; char tel...
2020-03-07 16:58:29
1100
原创 Java学习-斗地主小案例代码实现
package DemoCase.DouDiZhucase;import java.util.ArrayList;import java.util.Collections;public class DouDiZhu {public static void main(String[] args) { //第一步:准备牌(54张牌放到一个集中去) ArrayList<S...
2020-03-07 16:17:09
333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人