
Java
天上飞下一毛雪
弱鸡的冒险之旅,大四找工作狗,我真的真的好菜。。。。博客内容如有侵权或交流讨论,请加微信:jqt1120359293
展开
-
mybatis-plus Invalid bound statement (not found)
mybatis-plus Invalid bound statement (not found)原创 2022-07-19 17:25:07 · 1717 阅读 · 2 评论 -
Netty解码http请求获取URL乱码
解决方案:(获取URI时,使用URLDecoder进行解码) public void channelRead(final ChannelHandlerContext ctx, Object msg) throws Exception { FullHttpRequest fhr = (FullHttpRequest) msg; String uri = URLDecoder.decode(fhr.uri().trim().replace("/", "")原创 2021-06-17 14:39:39 · 1054 阅读 · 0 评论 -
Kafka消费方式对别
1.消费者程序启动多个线程,每个线程维护专属的 KafkaConsumer 实例,负责完整的消息获取、消息处理流程。如下图所示:2.消费者程序使用单或多线程获取消息,同时创建多个消费线程执行消息处理逻辑。获取消息的线程可以是一个,也可以是多个,每个线程维护专属的 KafkaConsumer 实例,处理消息则交由特定的线程池来做,从而实现消息获取与消息处理的真正解耦。具体架构如下图所示:总体来说,这两种方案都会创建多个线程,这些线程都会参与到消息的消费过程中,但各自的思路是不一样的。...原创 2021-03-26 09:33:28 · 352 阅读 · 0 评论 -
泛型extends和super
上限extends:使用时指定的类型必须是继承某个类,或者实现某个接口,例如<? extends Food> (无穷小,Food]下限super:使用时指定的类型不能小于操作的类,例如<? super Food> [Food,无穷大)(注意上限和下限不懂得可以看图理解,基类是Food)...原创 2021-03-19 10:20:58 · 219 阅读 · 0 评论 -
Java使用JNA调用C的DLL库
C代码,指定:生成dll动态库,生成出bl.dll动态库#define _CRT_SECURE_NO_WARNINGS#define STRICT /* WIN32 */#include "binlog.h" /* BL */#include <tchar.h> /* RTL */#include <stdio.h>#include原创 2021-01-21 17:15:48 · 429 阅读 · 1 评论 -
Springboot读取配置文件List
yml配置mqtt: server-uris: zrcentos04,zrcentos03,zrcentos02,zrcentos01config @Value("#{'${mqtt.server-uris}'.split(',')}") private String[] serverURIs; @PostConstruct public void outPut() { log.info("====MQTT-初始参数===="); .原创 2021-01-11 14:56:08 · 2017 阅读 · 0 评论 -
spring-boot-maven-plugin报红
突然发现spring-boot-maven-plugin的maven总是爆红。问题原因: <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.2.2.RELEASE</version>原创 2020-12-01 15:17:46 · 857 阅读 · 0 评论 -
OpenFeign超时时间设置
尚硅谷的在ribbon里设置不管用,这种形式管用。feign: client: config: default: #建立连接所用的时间,适用于网络状况正常的情况下,两端连接所需要的时间 ConnectTimeOut: 5000 #指建立连接后从服务端读取到可用资源所用的时间 ReadTimeOut: 5000...原创 2020-11-19 14:39:55 · 3677 阅读 · 3 评论 -
HiveMq-API示例
Maven坐标: <dependency> <groupId>com.hivemq</groupId> <artifactId>hivemq-mqtt-client</artifactId> <version>1.2.1</version> </dependency>异步代码示例:packag..原创 2020-10-10 15:15:13 · 2563 阅读 · 0 评论 -
SpringCloud服务发现
一个服务想访问另一个服务时,如何确定它的地址呢?这时,就需要服务发现(Service Discovery)假如使用的是eureka当做服务发现注册中心一、第一种方法:http://localhost:7001/eureka/apps返回XML信息第二种方法1、先在Application里开启 @EnableDiscoveryClient2、代码示例:@Slf4j@RestControllerpublic class testController { ..原创 2020-09-29 14:56:14 · 790 阅读 · 0 评论 -
IntelliJ IDEA 一个微服务module启动多个
项目需要,刚入坑SpringCloud,想一个modul起多个,但是再新建module然后复制粘贴太麻烦了,现在发现可以修改配置实现一个module起动多个。1、复制一份GBoxWorkApplication重命名为GBoxWorkApplication022、修改ProgramArguments参数来启动不同的端口,和服务名称--server.port=8082 --mqtt.client-id-prefix=gateWayWorkServer-02 --eureka.instan.原创 2020-09-28 09:07:45 · 1477 阅读 · 0 评论 -
Java反射获取实例的速度比较
之前代码有一个逻辑,是在初始化时读取某个包下的所有class文件,放入到一个HashMap里。代码运行过程中,通过Key获取到对应class的全路径名,最后通过Class.forName(className).getDeclaredConstructor().newInstance()获取实例对象。 后来同事看到了代码,对这个HashMap里存储方式提出了建议,之前的Map是<String,String>完全可以改成<String,Class>后来我测试了...原创 2020-09-24 11:45:23 · 338 阅读 · 0 评论 -
CAS获取自增ID号
为了防止多线程下出现流水号出现线程不安全的问题,需要使用锁,但是synchronized 锁是重量级的,因此使用CAS自旋锁获取流水ID号。public class AtomicIntegerUtil { private static final AtomicInteger atomicInteger = new AtomicInteger(0); private static final Integer MAX_NUM = 1024; public static i原创 2020-09-22 15:32:07 · 287 阅读 · 0 评论 -
Centos下统计QPS
现在需要对自己的代码进行压力测试,要测试大致QPS的数值1、首先要知道QPS是啥:QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。2、如何进行简单的计算:思路:在程序入口打个log,最后统计这1秒输出的日志就好了我直接统计了nohup.out输出的日志,(注意 我过滤的是‘INFO’,因为我每次程序执行都只打印一次Log,如果有多条日志输出的话 需要过滤唯一标识的字符串)cat nohup.out |grep 'INFO'|.原创 2020-09-22 09:55:08 · 586 阅读 · 0 评论 -
pipeline通道大幅度提升redis的处理速度
pipeline通道大幅度提升redis的处理速度 @Autowired StringRedisTemplate stringRedisTemplate; //操作k-v都是字符串的 public void saveFaceLocationInfo(List<FaceLocation> faceLocationList) { if (faceLocationList == null || faceLocationList.size() <=原创 2020-05-19 14:07:18 · 265 阅读 · 1 评论 -
Docker命令记录
只想说为啥之前不学Docker呢,Docker牛逼。。。安装Docker(先更新一下yum)1.使用 root 权限登录 Centos。确保 yum 包更新到最新。sudo yum update2.卸载旧版本(如果安装过旧版本的话)sudo yum remove docker docker-common docker-selinux docker-engine3.安装需要的...原创 2020-05-07 14:45:41 · 180 阅读 · 0 评论 -
Hbase-JavaAPI操作
关于Maven问题,添加了如下依赖,貌似并不能解决依赖,最终使用了Hbase中lib文件夹里自带的jar包。<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>1.3.1</...原创 2020-04-26 17:05:44 · 332 阅读 · 0 评论 -
Spring声明式事务
基于XML的: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" xml...原创 2020-02-28 00:01:48 · 156 阅读 · 0 评论 -
SpringAOP使用
aop老是忘,面试也老是提到,再详细记录下基本术语:通俗解释:基于XML配置实现AOP:包结构:XML配置文件:具体使用注释写的很详细<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" ...原创 2020-02-27 01:05:05 · 794 阅读 · 0 评论 -
Spring中用于注入数据的:@Autowired @Qualifier @Resource @Value
@Autowired的作用和基于XML配置中的:<property name="" ref=""><property name="" value=""> <!-- 通过配置文件给 bean 中的属性传值:使用 set 方法的方式 涉及的标签:property属性:name:找的是类中 set 方法后面的部分ref:给属性赋值是其他 ...原创 2020-02-24 22:23:36 · 376 阅读 · 0 评论 -
简单实现Mybatis框架(学习笔记)
代码地址:https://github.com/taigege/JavaCode_StudyByHeima/tree/master/Mybatis_toself/day01_eesy_04mybatis_design1、首先先了解下Mybatis框架的入门案例2、Mybatis执行流程1、当执行 builder.build(in);语句时,会从文件流对象in 指定的文...原创 2020-02-23 22:52:42 · 202 阅读 · 0 评论 -
面试题:Mybatis中#{}和${}的区别
#{}和${}的区别是什么?#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。...原创 2020-02-23 16:33:40 · 1306 阅读 · 0 评论 -
MySQL黑马笔记一
今日内容数据库的基本概念MySQL数据库软件安装卸载配置SQL数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL4. 常见的...原创 2020-02-17 21:26:56 · 3432 阅读 · 1 评论 -
Java多线程
面试题:Java中多线程的创建有几种方式?四种。之前面试被问到了,没错有四种创建多线程的方式,其中两种在课本里学的,其实还有两种在JDK5.0后添加的,记录一下子。方式一:继承Thread类的方式:* 1. 创建一个继承于Thread类的子类* 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中* 3. 创建Thread类的子类的对象* 4...原创 2020-02-17 17:37:42 · 167 阅读 · 0 评论 -
Java动态代理
嗯。。。又学看了一遍宋神的Java高级,又有新体会。。1.代理模式的原理:使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。这句话,细细品一下 ,细品。。动态代理的特点:动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。实现动态...原创 2020-02-16 21:04:48 · 167 阅读 · 0 评论 -
Java反射应用
目录:先记录:反射应用三(重点!)反射的person例子代码:@MyAnnotation(value="hi")public class Person extends Creature<String> implements Comparable<String>,MyInterface{ private String name; in...原创 2020-02-16 18:26:45 · 221 阅读 · 0 评论 -
使用ClassLoader加载配置文件
在敲ssm整合的时候,发现这样的语句:来读取properties配置文件,了解了下为什么这么做。ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();InputStream is = classLoader.getResourceAsStream("jdbc1.properties");首先看下代码目录树:注...原创 2020-02-16 17:42:17 · 1044 阅读 · 0 评论 -
Windows下Zookeeper第一次配置问题
1:来到如下conf目录,找到zoo_sample.cfg,复制一份,重命名zoo.cfg2:改下zoo.cfg里边配置,让它把临时数据放到上一级的data文件夹下3:新建一个data文件夹,然后运行即可...原创 2020-02-13 23:06:50 · 131 阅读 · 0 评论 -
Redis基础
Redis案例代码:https://github.com/taigege/JavaCode_StudyByHeima/tree/master/RedisExample1.目录1.概念2.下载安装3.命令操作 3.1.数据结构4.持久化操作5.使用Java...原创 2020-02-07 15:59:30 · 163 阅读 · 0 评论 -
SpringMVC组件说明及其SSM整合
SSM整合代码:https://github.com/taigege/SSM-/tree/master首先了解下SpringMVC的执行过程:细致的执行流程:涉及到的组件的解释:DispatcherServlet :前端控制器用户请求到达前端控制器,它就相当于 mvc 模式中的 c,dispatcherServlet 是整个流程控制的中心,由它调用其它组件...原创 2020-02-04 22:14:01 · 184 阅读 · 0 评论 -
Spring
0、spring 是什么?Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多...原创 2020-01-14 11:14:58 · 173 阅读 · 0 评论 -
尚硅谷Java中List、Set、Map的小结
List:package com.atguigu.java;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;/** * 1. List接口框架 * * |----Col...原创 2020-01-04 19:39:04 · 230 阅读 · 0 评论 -
Java的Collections工具类(对List、Set、Map实现排序、反转等)
Collections是一个操作Set、List和Map等集合的工具类(实现排序、反转等等)注:Collection是Set、List的基类接口,而Collectins是一个工具类工具类一般的方法都是static静态的,直接调用就好(如下是部分截图,没有截全,还有一些涉及线程安全的类不常用) Collections的常用方法: import java.uti...原创 2019-02-19 23:56:53 · 2826 阅读 · 0 评论 -
Java反射代码
Reflection是视为动态语言的关键,反射机制运行程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及其方法。最近看了下Java的高级用法,其中反射机制用的很多,身为一只小白的我一脸懵逼,what?反射是什么鬼?反射机制能干什么?在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变...原创 2019-02-15 18:14:23 · 362 阅读 · 1 评论 -
Java的常用类StringBuffer - StringBuilder - SimpleDateFormat - Date (日期实战判断三天打鱼两天晒网骚操作)
* java.lang.StringBuffer:可变的字符序列 * java.lang.StringBuilder:可变的字符序列,是jdk5.0新加入的,线程不安全,效率要高于StringBuffer.public class TestStringBuffer { /* * 对比String,StringBuffer,StringBuilder三者在添加上的效率: * 效率从...原创 2019-02-26 17:00:58 · 265 阅读 · 0 评论 -
Java反射代码示例
常用示例:package com.atguigu.java;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.P...原创 2019-02-27 20:27:02 · 263 阅读 · 0 评论 -
Java单例设计模式
什么是单例设计模式?单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。对应我这个初学来说,感受最深的是学习Android时,一些的对象的获取是通过getxxxx方法来获得的,而不是通过new出来,可能就是这个设计思想吧。目标:使得一个类只能创建一个对象实现方式有很...原创 2019-02-17 14:50:54 · 109 阅读 · 0 评论 -
Java 基本数据类型和包装类和String类的互转
int -> Stringint i=12345;String s="";s=i+""; //第一种方法:s=String.valueOf(i); //第二种方法:调用String类的静态valueOf方法 String -> ints="12345";int i;i=Integer.parseInt(s); //第一种方...原创 2019-02-17 00:10:56 · 196 阅读 · 0 评论 -
Java迭代器(Iterator)
博客来源:https://www.cnblogs.com/lxqiaoyixuan/p/7156944.html Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Co...转载 2019-02-02 22:06:47 · 130 阅读 · 0 评论 -
Java链接数据库轮子
package com.dh.ch09;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBUtil { Co...原创 2018-05-25 11:19:45 · 484 阅读 · 1 评论