![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 50
奋斗的小菜菜
没有学不会的技能,只有学不完的知识。干就完了
展开
-
OkHttp3 发送Digest Auth摘要认证
okhttp3.0 Digest Auth原创 2024-04-18 10:51:33 · 399 阅读 · 0 评论 -
JVM 运行机制学习记录
JVM 虚拟机原创 2022-10-14 09:52:03 · 178 阅读 · 0 评论 -
Spring-FrameWork源码搭建
Spring源码搭建步骤原创 2022-04-26 10:28:36 · 647 阅读 · 0 评论 -
把中文目录名称修改成英文首字母大写或中文拼音目录
把中文目录名称修改成英文首字母大写或英文目录<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.6.3</version> <scope>compile</scope></dependency><dependency>原创 2022-01-24 14:42:06 · 539 阅读 · 0 评论 -
Nacos 使用域名的方式访问 注意事项
方式一 升级版本 2.2.1.RELEASE 以上<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency> <groupId>com.alibaba.cloud原创 2021-12-30 11:25:14 · 4522 阅读 · 0 评论 -
知识点总结
一:多线程1.ThreadLocal好了正式开始.ThreadLocal我也不想去背书,因为我也记不住,那他具体是怎么回事呢?首先我们先看看这个对象是咋new出来的ThreadLocal threadlocal = new ThreadLocal;官方其实已经解释非常清晰明了了,就是维护当前线程内的局部变量,为什么这么说呢,看源码就能知道其所以然 //这是ThreadLocal内部的set方法 public void set(T value) { //获取当前线程原创 2021-07-06 09:03:49 · 258 阅读 · 0 评论 -
针对ThreadLocal我总想说点什么,以及使用场景
说起ThreadLcoal这个清楚又陌生的词,由于我在公司里也没有什么高并发的场景,只知奇然而不知其所以然,并受到了打击,像我这种天天除了curd其他什么都不会的人还是想了解一下这个ThreadLocal具体到底是干嘛的,并且具体目的还是想自己总结点东西想与别人吹吹牛逼,仅此而已。虽然这只是java里的皮毛。好了正式开始.ThreadLocal我也不想去背书,因为我也记不住,那他具体是怎么回事呢?首先我们先看看这个对象是咋new出来的ThreadLocal threadlocal = new Thr原创 2021-06-17 01:52:47 · 143 阅读 · 0 评论 -
Netty学习不是很深入,也就研究5%
一、netty1.服务端代码(1)服务端:package com.netty.test.socekt;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.Ni原创 2021-03-10 23:51:47 · 211 阅读 · 0 评论 -
简单玩mina的socekt的服务端和客户端,自定义事务处理器&监听器&心跳监听
1.项目结构最好自己在翻一番源码,本人研究了2天netty但是没有研究明白发现这两款框架与很多相似之处,比如netty的默认线程数为cpu核数*2,但是也自己可以根据构造传入线程数mina的默认线程数为cpu核数+1,但是没找到从哪里可以传入线程数,有大佬可以回一下netty主要针对的是channelmina主要针对的是session等等,这俩框架还在研究中,mima有很多默认的实现,但是大多数支持重写有什么问题可以讨论,我也多学习学习,我也可以把我研究netty的记录发出来2.mave原创 2021-03-10 23:48:36 · 290 阅读 · 0 评论 -
单机版 NIO的 SockerServer
package com.cs.cloud.test.testnio;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.channels.*;import java.nio.charset.Charset;import java.nio.charset.CharsetDecoder;import java.util.Iterator;原创 2021-03-03 23:54:30 · 134 阅读 · 3 评论 -
curl 携带cookie 数据
原创 2021-01-20 22:36:51 · 3682 阅读 · 0 评论 -
Notepad++ 替换java注释 快捷键
1. /** */正则表达式: /\*\*.*?\*/2. 双斜杠正则表达式: //[\s\S]*?\n3.空白行正则表达式:^\s*\n4.多行注释正则表达式:/\*{1,2}[\s\S]*?\*/原创 2021-01-11 12:22:01 · 315 阅读 · 0 评论 -
Docker 部署JAVA jar 包
Docker 部署docker 的jar包 只需要 简单的 几个 步骤第一步:安装docker镜像 到 linux 上第二步:把开发完的项目打包第三步:配置Dockerfile文件(注意没有后缀) 配置如下:### 在容器中运行需要的JDKFROM gmaslowski/jre:8### 在角jdk 中创建相应的文件夹RUN mkdir /app && mkdir /cfg## 复制jar包到指定路径下COPY ./xxx.jar /app/ap原创 2020-12-16 20:18:17 · 1666 阅读 · 0 评论 -
Java 关于CoolProp的调用
CoolProp 是一个开源的能源计算类库 但是其中需要用java原生native方法但是这里就需要一个类库,但是官网上给的类库(.dll)没有加包名,但是其内部编译没带类名称只能在maven仓库下的java包下 但是这样就给我们调用带来了困难 因为如果我们不写包名的话默认本包,给我们调用带来了困难其解决方法如下第一个方法:我们可以用 java的反射机制来调用类下的方法第二个方法:重新编译生成dll文件 带上类名称我只实现了第一个方法,其第二个方法比较麻烦需要先通过javah命令编译成c++可执原创 2020-12-03 00:56:25 · 1061 阅读 · 0 评论 -
RestFual 穿值问题 遇到的小坑
因为需要用到RestFual但是在 穿值问题上有点毛病寻找了半天才找到解决方案,这里需要注入一个bean@Configurationpublic class ApplicationContextConfig { @Bean public RestTemplate GetRestTemplate(){ return new RestTemplate(); }}然后在controller上引用这个Controller是对外部访问提供的;@Resourcep原创 2020-10-04 22:04:47 · 118 阅读 · 1 评论 -
枚举 + 动态 反射
创建枚举类:public enum TableEnum { ENUMONE("key1","method1"), ENUMTWO("key2","method2"), ENUMTHREE("key3","method3"), ENUMFOUR("key4","method4"), ENUMFIVE("key5","method5"); private String key; private String value; TableEnu原创 2020-08-07 17:10:18 · 231 阅读 · 0 评论 -
多线程之session不更换问题--开发问题
今天和同事在开发平台时,就是在疯狂地写代码。然后在通过Jenkins发布到公司的服务器上。描述问题:就是同事用一个账号登录晚 把用户的信息存在了session里,在项目里有一个环节就是得需要在这个多线程里获取到用户的信息,第一次登录是没有问题的,因为Session初始化时会从主线程初始化一边,得到subject对象,当我们这时创建线程的时候,这个线程会从主线程里得到这个subject对象,其里面包含了session信息。但是需要注意的是,如果这时换台电脑继续让这个人登录的话,原来的session就原创 2020-07-14 20:58:44 · 815 阅读 · 0 评论 -
HTML之前台往后台传数据是数组的形式
方法一我们可以根据前台的数据,在后台封装成一个vo的对象,里面存放的是变量的数组,那么 我们就能够得到传递的每一个数据class student{private String name[];private int age[];private String IdCard[];省略set和get方法}方法二这里我们以vue的方式进行叙述,先把前台数据转换成字符串var student = JSON.stringify(this.studentList);在把这个穿递给后台 那么后台的接原创 2020-05-26 11:34:15 · 1100 阅读 · 0 评论 -
jAVA 之 volatile、Atomic 一系列问题
说到valatile,那他是什么?能干什么?怎么用呢?让我们来进一步了解。Volatile是jvm多线程轻量级的同步机制如果不在多线程的条件下使用volatile那么将无任何意义.Volatile有哪些特性? 1. 保证可见性(某一个线程修改主内存中的值,那么其他线程就会马上得到同通知) 2. 不保证原子性(不保证在多个线程同时操作同一个变量的时候,不会出现写覆盖) 3. 禁止指令...原创 2020-05-22 00:07:36 · 526 阅读 · 2 评论 -
I'm 面试题总结
1.集合1. 1常见的集合接口有哪些?Collection(跟接口),set,List,Map1.2ArrayList和LinkList的区别?①数据结构不同:ArrayList底层用的是数组,LinkedList在jdk1.8之前用的是数组+链表,jdk1.8之后用的是数组+链表+红黑树②初始大小不同:ArrayList为10,LinkedList没有初始大小.③查询:ArrayLi...原创 2020-03-20 20:52:59 · 655 阅读 · 0 评论 -
SpringBoot+SpringCloud面试题整理
什么是SpringBoot?1、用来简化spring初始搭建和开发过程使用特定的方式进行配置(properties或者yml文件)2、创建独立的spring引用程序main方法运行3、嵌入Tomcat无需部署war包,直接打成jar包nohup java -jar – & 启动就好4、简化了maven的配置4、自动配置spring添加对应的starter自动化配置SpringB...转载 2020-02-16 13:55:27 · 600 阅读 · 0 评论 -
JAVA基础语法 十三 之 ArrayList的简单使用
1.ArrayList1.1ArrayList类概述什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点 底层是数组实现的,长度可以变化泛型的使用 用于约束集合中存储元素的数据类型1.2ArrayList类常用方法1.2.1构造方法方法名说明public ArrayList()创建一个空的...原创 2020-01-21 18:11:33 · 192 阅读 · 0 评论 -
JAVA 基础语法十二 之 String类
1.API1.1API概述什么是API API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。2.String类2....原创 2020-01-21 18:06:38 · 160 阅读 · 0 评论 -
JAVA基础语法十一 之 类与对象
1. 类和对象1.1 类和对象的理解【理解】客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。类类的理解类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理解:类就是对现实事物的一种描述类的组成属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)行为:指事物能执行的操作,例如:手机事物(打电话,发短...原创 2020-01-21 17:42:51 · 159 阅读 · 0 评论 -
java之基础语法十 方法的重写
方法的重写指都一个子类,去复写父类的方法,其父类的方法能被其子类访问.方法重写的注意事项:重写的方法必须要和父类一模一样(包括返回值类型,方法名,参数列表);重写的方法可以使用@Override注解来标识;访问权限不能严于父类父类的静态方法不能被重写为非静态方法,反之父类的非静态方法不能被重写为静态方法子类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态方法(静态方法中无法使...原创 2020-01-21 17:30:49 · 225 阅读 · 0 评论 -
java 之 线程创建的方式.
实现方式1.通过继承Thread类实现一个线程。2.通过实现Runnable接口实现一个线程3.通过线程池创建线程。注意:继承扩展性不强,java总支持单继承,如果一个类继承Thread就不能继承其他的类。怎么启动?继承方式简单启动:package com.cs.Thread_Test;public class MyThread extends Thread{ @Ove...原创 2020-01-21 13:01:54 · 119 阅读 · 0 评论 -
java 实现一个拷贝文件的工具类使用字节流还是字符流?
这里我们要考虑我们的文件是字符类型的,还是字节类型的:字符类型一般包括:word、txt、文本类型。字节类型一般包括:图片、声音、图像等)。因为一般字符流最终都要转换成字节流,所以为考虑到通用性,要用字节流。...原创 2020-01-21 12:28:09 · 535 阅读 · 0 评论 -
java面试题 之 ArrayList
Arraylist插入删除速度一定慢吗?删除:这个取决于要删除的元素离数组末端有多远,如果距离比较远的话那么查找这这个元素对应的索引就会慢,如果索引查询的慢那么,删除的速度就会比较慢.插入:插入看情况:这里有一个定义Arraylist长度的变量size条件:如果ArrayList底层对应的数组的长度正好是能被1.5所整除那么这时就要初始化底层数组的长度,这需要new 新的数组浪费时间1)...原创 2020-01-19 19:33:01 · 409 阅读 · 0 评论 -
final、finally、finalize的详细分析
java语言有有很多看起来相似,但用途却完全不同的要素,那么final,finally,finalize又有哪些不同之处呢?finalfinal可以用来修饰类、方法、变量,分别有不同的意义,final修饰的class表示不可以继承扩展final修饰的变量是不可以修改的final修饰的方法是不可以重写的finallyfinally是保证java重点代码执行的一种机制,他可以配合我们...原创 2020-01-19 12:54:13 · 250 阅读 · 0 评论 -
数据结构 七 之迷宫问题
package main.com.cs.maze;import java.util.HashSet;import java.util.Iterator;import java.util.Set;class Cell { // 单元格 int row; // 哪行 int col; // 哪列 Cell from; // 开始点 public Cell(...原创 2020-01-18 18:28:49 · 181 阅读 · 0 评论 -
RabbitMQ常见问题
rabbitmq 的使用场景有哪些?①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。②. 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。在企业应用集成(EAI)中,文件传输...原创 2020-01-18 15:52:07 · 253 阅读 · 0 评论 -
数据结构(六)之 栈
栈栈和队列是两种重要的数据结构.从数据结构角度上看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,他们是操作受限的线性表,因此可称为限定性数据结构.但从数据类型角度看,他们是线性表大不相同的两类重要的抽象数据类型.由于他们广泛应用在各种软件系统当中,因此在面向对象的程序设计中,他们是多型数据类型。抽象数据类型栈的定义栈:是限定仅在表尾进行插入或删除操作的线性表.因此,...原创 2020-01-17 11:02:14 · 259 阅读 · 0 评论 -
mybatis整合 SpringBoot(缓存机制)
有了mybatis公司给我们整合的工具类那么我们就不用像以前还得去配置数据源 我们在这里只需引入依赖即可:我们首先先创建一个简单的数据库create database springbootmapper;CREATE TABLE `user` ( `id` int(16) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(16) NOT...原创 2020-01-16 23:59:54 · 2255 阅读 · 0 评论 -
Spring boot的拦截器
定义拦截器和配置拦截器.实现 WebMvcConfigurer 接口,然后重写 addInterceptors 方法,将自定义的拦截器添加进去.这样不会拦截静态资源这里用到的maven工程<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...原创 2020-01-16 21:51:17 · 129 阅读 · 0 评论 -
数据结构(五)之 双向链表
双向链表之前讨论的链式存储结构中的节点中只有一个指示直接后继的指针域,由此,从某个节点出发只能顺指针往后寻找其他节点.若要寻找的节点的直接前驱,则需从表头出发.换句话说,在单链表中,NextElem的执行时间为O(1),而PriorElem的执行时间为O(n).为克服单链表这种单向性的缺点,可利用双向链表.双向链表的节点中有两个指针域,其一指向直接后继,另一指向直接前驱和单链表相似,双向链表...原创 2020-01-16 16:27:21 · 168 阅读 · 0 评论 -
数据结构(四)之循环链表
循环链表循环链表:是另一种形式的链式存储结构.他的特点是表中最后一个节点的指针域指向头节点,整个链表形成一个环.由此,从表中任一节点出发均可找到表中其他的节点,如下图所示为单链表的循环链表.类似的,还可以有多重链的循环链表.循环链表的操作和线性链表基本一致,差别仅在于算法中的循环条件不是尾节点的next为null,而是他们是否等于头指针.但有的时候,若在循环链表中设立尾结点,而不设头节点,可使...原创 2020-01-16 12:05:02 · 325 阅读 · 0 评论 -
数据结构(三)之线性表(链式表示和实现)
线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中的任意元素,它的存储位置可用一个简单的、直观的公式来表示然而,从另一方面来看,这个特点也铸成了这种结构的弱点,在做插入或删除操作时,需要大量的移动元素,那么我们来讨论一下另一种表示方法----链式存储结构,由于它不要求逻辑上相邻的元素在物理位置上也相邻,因此他没有顺序存储结构所具有的弱点,但同时也失去了顺序...原创 2020-01-15 16:39:32 · 447 阅读 · 0 评论 -
数据结构(二)之线性表(顺序表示)
线性结构的特点:存在唯一的一个被称作“第一个”的数据元素存在唯一 的一个被称作“最后一个”的数据元素除了第一个外,集合中每个数据元素均只有一个前驱;除最后一个元素外,集合中每个数据元素均只有一个后继;线性表的类型定义:线性表是常用且最简单的一种数据结构.简言之,一个线性表示n个数据元素的有限序列.至于每个数据元素的具体含义,在不同情况下各不相同,他可以是一个数或一个符号,也可以是一...原创 2020-01-15 13:48:31 · 129 阅读 · 0 评论 -
高深面试题 (中缀表达式转为后缀表达式)
1.表达式a+b*c-(d+e)/f的后缀表达式为?扫描的方式从左到右 依次进行扫描 参数放到参数栈中 符号 放到符号 栈中扫描的次数扫描到的值参数栈符号栈解释第一次aa第一次扫描到的是a 直接放到参数栈中第二次+a+第二次扫描到的是加号直接放到符号栈中第三次bba+第三次扫描到的是b依次放到参数栈中第四次*ba...原创 2020-01-12 23:56:24 · 1159 阅读 · 0 评论 -
微服务怎么保证 cookie共享
因为微服务 与 微服务 之间 有安全级别Zuul内部有默认的过滤器,会对请求和响应头信息进行重组,过滤掉敏感的头信息:那么我们现在 不想丢失这些敏感信息,我们必须加入一个配制,让其跳过对头部敏感信息的初始化.我们只需要在其yml配置文件中 zuul网关下加入以下配置zuul: prefix: /api routes: demo-service: /demo/** se...原创 2020-01-09 13:54:08 · 1438 阅读 · 0 评论