java
文章平均质量分 53
草莓盼盼是胖胖
大胆假设,小心求证
展开
-
我要开始写注释啦
1:方法要加方法用途得注释2:map要加key value的注释3:数据库操作增、删、改要添加注释4:枚举判断时要列举枚举含义注释5:报错提示也要注释为何弹出异常原创 2021-10-26 16:13:14 · 202 阅读 · 0 评论 -
Java8 java.util.function包
Java8的工具包新增了function包,里面主要包含了Function,Consumer,Predicate,Supplier四种类。Function类抽象方法apply()实例化Function的时候需要实现其中的apply()方法,apply方法接收一个模板类型作为输入参数,在andThen()和compose()方法里会自动调用apply()方法。default方法andThen()default方法compose()静态方法identity()...原创 2021-08-07 07:01:58 · 254 阅读 · 0 评论 -
解决中文乱码
一、在返回中的头部信息中指定字符集为UTF-8 response.setCharacterEncoding("utf-8");二、在API上指定produces@RequestMapping(value = "/hello", produces = "application/json; charset=UTF-8")三、全局配置字符编码package com.reachauto.hkr.common.config;import com.fasterxml.jackson.databind.转载 2021-08-07 07:00:18 · 105295 阅读 · 0 评论 -
雪花算法Snowflake
SnowflakeSnowflake是一项网络服务,可通过一些简单的保证大规模生成唯一的 ID 号。其优点是:高性能,低延迟;独立的应用;按时间有序。缺点是:需要独立的开发和部署。41位的时间序列(精确到毫秒,41位的长度可以使用69年);10位的机器标识(10位的长度最多支持部署1024个节点);12位的计数顺序号(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)最高位是符号位,始终为0。Snowflake 是一个很高效很方便的GUID产生算法,一个int64_t字段就可以胜任转载 2021-08-07 06:59:11 · 182 阅读 · 0 评论 -
编码规范学习
controller层转载 2021-08-07 06:58:09 · 101 阅读 · 0 评论 -
java.io.StringReader
API说明:字符串输入流、其本质就是字符串/** * A character stream whose source is a string. * * @author Mark Reinhold * @since JDK1.1 */public class StringReader extends Reader {}原创 2021-08-07 06:56:20 · 641 阅读 · 0 评论 -
java.util.Properties
public synchronized void load(Reader reader) throws IOException { load0(new LineReader(reader)); }Properties.load();传进去一个输入流,字节流或者字符流,再使用Properties.getProperty();来读取配置文件里面的属性值。 public String getProperty(String key) { Object oval =原创 2021-07-30 09:46:36 · 107 阅读 · 0 评论 -
debug的记录
系统日志when 我需要在什么时候打印日志代码调试问题定位用户行为日志(记录操作日志)根因分析where我会在哪打印我的日志1.程序入口:入参在入口打印日志是因为这个时候传递进来的参数没有经过任何处理,将它打印在日志文件中能一眼就知道程序的原始数据是否符合我们的预期,是不是传递进来的原始数据就出现 的问题。2.异常捕获:try…catch在异常打印出详细的日志能让你快速定位错误在哪里,例如在程序抛出异常捕获时,在平时我们经常就是直接在控制台打印出堆栈信息e.printStackTrace转载 2021-07-22 19:06:38 · 301 阅读 · 0 评论 -
static使用
static使用修饰属性常用于共享属性 private static int onlineCount = 0;修饰成员方法常用于工具类,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗。public class CommonHelper { /** * 生成UUID * * @return String */ public static String uuid() { //生成UUI原创 2021-07-12 14:15:56 · 114 阅读 · 0 评论 -
Spring
Spring启动初始化启动加载启动成功后可以通过以下方法运行自己的初始代码@PostConstruct注解 @Component public class StartUpInit { @Autowired private SomeService service; @PostConstruct public void init(){ // ... }转载 2021-07-11 11:10:24 · 120 阅读 · 0 评论 -
RestTemplate
Springboot使用RestTemplatePOST传递参数采用 LinkedMultiValueMap ,不能使用HashMap MultiValueMap<String, String> map= new LinkedMultiValueMap<String,String>(); map.add("shopid","1"); MultiValueMap<String, Object> LinkedMultiValueMa转载 2021-07-10 06:26:35 · 1130 阅读 · 0 评论 -
HttpClient
HttpURLConnectionpackage java.net//创建连接对象 URL url=new URL(httpUrl); //创建连接 HttpURLConnection connection= (HttpURLConnection) url.openConnection(); //设置请求方法 connection.setRequestMethod("POST");原创 2021-07-10 06:25:04 · 345 阅读 · 0 评论 -
websocket
webSockethttps://www.jianshu.com/p/2c9be4641d43原创 2021-07-10 05:51:15 · 476 阅读 · 0 评论 -
collect中groupingBy多级分组
Product prod1 = new Product(1L, 1, new BigDecimal("15.5"), "面包", "零食"); Product prod2 = new Product(2L, 2, new BigDecimal("20"), "饼干", "零食"); Product prod3 = new Product(3L, 3, new BigDecimal("30"), "月饼", "零食"); Product prod...转载 2021-05-30 08:16:16 · 2363 阅读 · 0 评论 -
a==b Objects.equals(a,b) a.equals(b)
Objects.equals(a,b) public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); }此方法中已经做了非空判断,能避免疏忽和减化代码。a.equals(b) public static boolean equals(Object a, Object b) { return (a原创 2021-04-19 19:33:01 · 165 阅读 · 0 评论 -
加密解密初体验
加密一般情况下,使用不同语言开发的双方只有约定加密模式和明文填充方式,保证字节序列相同,保证秘钥的生成方式与编码相同,使用相同字符编解码方式等,才可以保证加密双方的互通。一、哈希HASHMD5特点1、不可逆运算2、对不同的数据加密的结果是定长的32位字符(不管文件多大都一样)3、对相同的数据加密,得到的结果是一样的(也就是复制)。4、抗修改性 : 信息“指纹”,对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别.5、弱抗碰撞 : 已知原数据和其 MD5 值,想找转载 2021-04-18 10:51:35 · 176 阅读 · 0 评论 -
注解与反射
java.lang.annotation包内置注解@Autowired。。。。源注解@Target描述注解的使用范围。methodtype(类上)@Retention需要在什么级别保存该注解信息,用于描述注解的生命周期。(注解用在什么地方有效)source(只源码级别有效) <class(编译级别仍有效)<runtime(所有都有效)@Inherited子类可继承父类的的该注解@Document说明该注解被包含在javadoc中自定义注解public @原创 2021-03-14 10:03:15 · 65 阅读 · 0 评论 -
线程池参数配置
代码示例import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class CommonThreadPoolExecutor { private static final int CORE_POOL_SIZE = ?; private static final in原创 2021-02-06 20:00:50 · 285 阅读 · 0 评论 -
API错误码设计
错误码组成应用标识+功能域+错误类型+错误编码 错误码位数:8位错误码示例:I102P001使用规范:只增不改,避免混乱 应用标识(2位字母和数字)AXXX平台:A1 AXXX平台:A2 VXXX平台:V1ZXXX平台:Z1功能域(2位数字)未分类:00 X1相关:01X2相关:02X3相关:03 错误类型(1位字母)参数错误:P业务错误:B系统错误:S网络错误:N数据库错误:D缓存错误:CRPC错误:R文件IO错误:F其他错误:O 错误编码(3位数转载 2021-02-04 20:26:18 · 375 阅读 · 1 评论 -
Swagger
第一种pom <dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> </dependency>application.ymlswagger: print-init: true enabled: true原创 2021-01-31 16:26:43 · 134 阅读 · 0 评论 -
Stream-reduce的使用
提供方法无初始值,返回值可能为空,只有累加器表达式。Optional<T> reduce(BinaryOperator<T> accumulator);T reduce(T identity, BinaryOperator<T> accumulator);第三个参数只有当并行流时才起作用,串行流时,第三个参数无效哦。<U> U reduce(U identity, BiFunction<U, ? s原创 2021-01-24 06:59:46 · 336 阅读 · 0 评论 -
CompletableFuture使用
CompletableFuture使用在之前多线程的文章中会遇到一些问题: while(!fs.isDone());//Future返回如果没有完成,则一直循环等待,直到Future返回完成 System.out.println(fs.get()); //打印各个线程(任务)执行的结果1)若Future返回没有完成,当前主线程是堵塞的,主线程业务会一直等着。2)轮询调用isDone,不优雅。解决上述问题并应对更多的需要:1)很多个异步线程执行时间不转载 2021-01-23 08:00:58 · 397 阅读 · 0 评论 -
JAVA多线程五种创建方式
JAVA多线程三种创建方式一、继承Thread类Mythread类/** * @creater keke * @time 2021/1/20 16:48 * @description */public class MyThread extends Thread { @Override public void run() { //通过继承Thread类的方式实现多线程时,可以直接使用this获取当前执行的线程 System.out原创 2021-01-20 20:54:30 · 158 阅读 · 0 评论 -
springCloud抽取配置文件服务实现多环境配置
配置中心服务Config Server 的搭建创建pom文件 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency转载 2021-01-18 16:17:42 · 436 阅读 · 0 评论 -
Spring Cloud五大核心组件
链接: Spring Cloud五大核心组件.转载 2021-01-17 09:25:48 · 196 阅读 · 1 评论 -
@Bean使用
Spring配置类注解@Bean用在方法上,生命当前方法返回值为bean,替代xml @Bean(name = "httpsTemplate") public RestTemplate httpsRestTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { HttpComponentsClientHttpRequestFactory requestFa原创 2021-01-17 08:53:35 · 149 阅读 · 0 评论 -
SpringAop @annotation\@Aspect练习
切面记录日志练习切面类@Slf4j@Aspect@Componentpublic class AspectForFeign { @Pointcut("execution(public * com.keke.remote..*Feign.*(..))") public void pointcut() { } @Around("pointcut()") public Object around(ProceedingJoinPoint joinPoin原创 2021-01-17 08:01:12 · 482 阅读 · 0 评论 -
多数据源学习spring-mybatis
在application.yml中配置两个数据源application.yml中声明两个数据源的配置,一个使用spring.datasource,另一个使用spring.sec.datasource#mysqlspring.datasource.driver-class-name=${di.db.driver}spring.datasource.type=${di.db.type}spring.datasource.url=${di.dev.db.url}spring.datasour.转载 2021-01-15 10:29:02 · 113 阅读 · 0 评论 -
跨域学习总结
浏览器同源概念同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。定义如果两个 URL 的 protocol、port (如果有指定的话)和 host 都相同的话,则这两个 URL 是同源。这个方案也被称为“协议/主机/端口元组”,或者直接是 “元组”。同源判断下表给出了与 URLhttp://mail.163.com/index.html 的源进行对比的示例:URL结果h转载 2021-01-14 15:23:34 · 229 阅读 · 0 评论 -
jvm
Jvm学习目录Jvmgc的分类总结:// 示例-Xms1024m -Xmx1024m -Xss1m -Xmn512m -XX:+HeapDumpOnOutOfMemoryError参数配置释义-xms1024m初始堆大小,jvm会尽力维持在这个值-xmx1024m最大堆,上限,也可写作-XX:MaxHeapSize=1024m-xss1m栈大小,也可写作-XX:ThreadStackSize=1024k-Xmn512m新生代的大小(一般为堆内存的1/原创 2020-12-26 18:21:36 · 119 阅读 · 0 评论 -
springBoot跨域全局配置
springBoot跨域全局配置package com.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.reactive.CorsWe原创 2020-12-26 06:48:34 · 289 阅读 · 0 评论 -
纸上谈兵-nacos初探
原创 2020-12-19 20:39:34 · 136 阅读 · 1 评论