![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 65
吧啦蹦吧
人之初,没有钱。。
展开
-
编程-常识cs
Unicode字符集是用来支持世界上的所有的语言的,ASCII字符集只是它的一个子集,确切的说,它是Unicode字符集的前255个字符。Unicode字符集的字符常常用十六进制表示,例如‘\u0000’、‘\u0028’、‘\uffff’等。(universe-charactername)\u后面必须跟4个十六进制数字(不足四位前面用零补齐),表示Unicode中在0至0xFFFF之内的码位(但不能表示0xD800到0xDFFF之内的码点,Unicode标准规定这个范围内的码位保留,不表示字符);...原创 2022-07-16 19:37:05 · 766 阅读 · 0 评论 -
vim-基础-技巧
光标的移动需求方式备注到文件末尾大写的字母G命令跳到文件尾到文件的startgggg移动到行首ovim一共有4个模式:正常模式 (Normal-mode) —esc 或者双击esc进入–作用: 跳来跳去,跳动的范围从小到大是字符单词、行、句子、段落和屏幕插入模式 (Insert-mode)--------i 进入命令模式 (Command-mode)------q! 强制退出 --冒号原创 2022-07-14 14:32:06 · 456 阅读 · 0 评论 -
mac-brew-order-ls-ll
brew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"mac 下使用ll命令vim ~/.bash_profile// oropen ~/.bash_profilealias ll='ls -alF'alias la='ls -A'alias l='ls -CF'保存后:source ~/.bash_profile原创 2022-04-29 14:38:39 · 347 阅读 · 0 评论 -
Mac-项目开发环境搭建path-xdebug
jdk 安装click绘图画图工具:clickidea mac 2020.03破解click;mac 安装 mavenclick原创 2022-01-11 17:03:55 · 162 阅读 · 0 评论 -
Netty-面试
什么是Netty 为什么使用使用 有什么优点Netty是基于java nio封装而来的同步非阻塞 通信框架;优点是使用了nio,通信效率高,而且支持大量的并发通信;nio是单线程 监控多个 channel注册到 selector;selector轮询检查selector是否准备好读写,准备后了进行读写;nio 在linux内心做了磁盘到内存的映射,速度非常快nio使用的是epoll多路复用机制,使用的数据结构是hash表,时间复杂度为O(1),效率比poll和select的效率高;Nett原创 2021-12-15 15:38:29 · 84 阅读 · 0 评论 -
springmvc-调用链路
根本链路参考: click会为该请求创建一个过滤器链,过滤器中的过滤器都执行完之后,才会调用Servlet的service方法,如果我们使用SpringMVC的话,最终调用的是DispatcherServlet的doDispatch方法,在该方法会根据当前请求路径、请求头、请求参数等信息确定执行处理器handler(也就是我们的Controller的类中配置了@RequestMapping注解的方法),此时返回的handler是HandlerExecutionChain处理器执行链,该执行链中含适用的拦原创 2021-07-12 16:43:22 · 466 阅读 · 0 评论 -
redisson
redisson命令1redisson原创 2021-05-20 18:12:47 · 120 阅读 · 0 评论 -
手动写入Bean到spring容器--BeanFactoryAware -ApplicationContextAware-sd
click--------click@Setter@Getterpublic class Person { private String name; private String age;}@Componentpublic class PersonBeanRegiser implements BeanFactoryAware { private BeanFactory beanFactory; @PostConstruct public vo.原创 2021-05-17 17:23:22 · 143 阅读 · 0 评论 -
mybatis--注解-分页-批量-batch
@Mapper添加了@Mapper注解之后这个接口在编译时会生成相应的实现类@Param于多个参数来说,每个参数之前都要加上@Param注解//UserDAOimport org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import entity.User;/** * 添加了@Mappe原创 2021-05-15 15:41:53 · 631 阅读 · 0 评论 -
ftp---下载单个文件
/* * 从FTP服务器下载文件 * * @param ftpHost FTP IP地址 * * @param ftpUserName FTP 用户名 * * @param ftpPassword FTP用户名密码 * * @param ftpPort FTP端口 * * @param ftpPath FTP服务器中文件所在路径 格式: ftptest/aa * * @para.原创 2020-06-06 09:50:26 · 303 阅读 · 0 评论 -
springboot--异步方法
在 Java 中,@Async 是一个注解,用于表示一个方法是异步执行的。当使用 @Async 注解时,Spring 框架会为该方法创建一个新的线程,并在新线程中执行该方法,从而使得当前线程可以继续执行其他任务。需要注意的是,@Async 注解只有在使用了 Spring 框架且开启了异步执行功能后才能生效。,否则异步执行将不会生效。原创 2020-06-02 22:25:24 · 168 阅读 · 1 评论 -
ftp服务器-java
使用apache的包@Component@Slf4jpublic class FmsFtpServer { @Autowired private SystemConfig sysConfig; public void startFtp() { try { String ftpPath = sysConfig.getRootPath();//# rootpath: /stsvc/fms/data/ File p原创 2020-06-02 09:58:37 · 143 阅读 · 0 评论 -
nio-Netty-字节的工具封装
/** * */package com.common.util;import java.nio.ByteBuffer;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;public class ByteUtil { private static int INT8_MASK = 0xFF; private static int I原创 2020-06-01 18:31:17 · 256 阅读 · 0 评论 -
springboot--mybatis枚举自动转换实现
需求 数据传递过来的值是枚举的name;存储到数据库为code;查询出来,code化为name,给出去。 看图–查询1数据2枚举3接口3结果看图–插入数据库代码实现public class AutoEnumTypeHandler <E extends Enum<E>> extends BaseTypeHandler<E> { private BaseTypeHandler typeHandler; public Aut原创 2020-05-23 15:23:54 · 1891 阅读 · 0 评论 -
redis-RedisTemplate
引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>说明使用RedisTemplate来回转化传递的是字节数组,所以需要一个序列化的过程;当然你不用每次手动去原创 2020-05-21 15:12:19 · 318 阅读 · 0 评论 -
[工具]--lambuda--接口玩法-函数式接口
lanbuda的骚操作是真的多给定一个接口,一个函数,轻松实现注意 想用lambda表达式方式书写,这里一定只能书写一个抽象方法! 举例 interface ReconnectedListener { void doListen(MQTTInstance instance); }@Configurationpublic class MQTTListenerConfig { public static final Map<String, Runnabl原创 2020-05-14 20:06:46 · 280 阅读 · 0 评论 -
设计模式--享元模式-sj
是什么享元模式是运用 共享技术复用对象 的一种模式。该模式中,以对象的信息状态划分,可以分为内部数据和外部数据。内部数据是对象可以共享出来的信息,这些信息不会随着系统的运行而改变;外部数据则是在不同运行时被标记了不同的值。享元模式一般可以分为三个角色,分别为 Flyweight(抽象享元类)、ConcreteFlyweight(具体享元类)和 FlyweightFactory(享元工厂类)。抽象享元类通常是一个接口或抽象类,向外界提供享元对象的内部数据或外部数据;具体享元类是指具体实现内部数据共享的类;原创 2020-05-14 00:45:19 · 138 阅读 · 0 评论 -
设计模式--原型模式-sj
什么是原型模式原型模式是通过给出一个原型对象来指明所创建的对象的类型,然后使用自身实现的克隆接口来复制这个原型对象,该模式就是用这种方式来创建出更多同类型的对象为什么用使用这种方式创建新的对象的话,就无需再通过 new 实例化来创建对象了。这是因为 Object 类的 clone 方法是一个本地方法, 它可以直接操作内存中的二进制流,所以性能相对 new 实例化来说,更佳。 什么场景可以用for循环中创建对象,尤其是大对象。举个栗子// 定义学生类class Student implemen原创 2020-05-14 00:29:57 · 94 阅读 · 0 评论 -
设计模式--单例-dl-sjms
宗旨 如果我们在程序启动后,一定会加载到类,那么用饿汉模式实现的单例简单又实用;如果我们是写一些工具类,则优先考虑使用懒汉模式,因为很多项目可能会引用到 jar 包,但未必会使用到这个工具类,懒汉模式实现的单例可以避免提前被加载到内存中,占用系统资源。 饿汉// 饿汉模式public final class Singleton { private static Singleton instance=new Singleton();// 自行创建实例 private Singleton原创 2020-05-14 00:02:36 · 120 阅读 · 0 评论 -
log4j2
引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <dependency> <groupId>org.springframework.bo原创 2020-05-13 11:32:10 · 125 阅读 · 0 评论 -
[工具]--lambuda--List排序-List中内容相加
各种情况总结:one List降序 public static void main(String[] args) { List<Integer> list = Arrays.asList(3, 1, 5, 100); List<Integer> newList = list.stream().sorted(Comparator.co...原创 2020-05-06 00:16:13 · 335 阅读 · 1 评论 -
springboot--拦截器和接口-ResponseBodyAdvice--WebMvcConfigurer
目标 1 你可以在自己的日志中看到自己接口的出参和入参,同时你不用在每个接口中写打印的逻辑,直接交给拦截器完成。 2 你可以任意包装你的出参,比如加上消耗的时间,添加一个唯一的uuid等等,同时这些东西都是由拦截器提供的功能。这些功能也可以做成配置化,比如你那些接口不需要这样的包装,在yml中配置一下,就可以了。看图接口模样 每次接口请求都会输出param,路径 消耗的时间 ...原创 2020-05-05 23:48:27 · 2020 阅读 · 0 评论 -
fastjson
所有的框架其实都有坑,关键是你是否理解了为什么有这些坑,然后建立自己的使用习惯,避免入坑。----送给天下所有java开发者加粗样式规矩:加粗样式001 :需要进行序列化的实体不要参入其他方法,只是写自己的各种属性。002:属性名称遵循驼峰命名,正例:fatherName 反例:FATHERNAME003:使用lombok的@Data进行标注,不用自动生成的get set方法坑1:加...原创 2020-04-21 23:01:21 · 899 阅读 · 1 评论 -
jvm-msg-你用的什么垃圾回收器?+jmap+jstack
查看整个JVM内存状态jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo:live [pid] jmap -histo:live 12493 | more |grep streamax 导出整个JVM 中内存信息 HPROFjmap -dump:form...原创 2020-04-16 14:03:57 · 137 阅读 · 0 评论 -
【Netty】--进行线程调度--再也不要使用qurze
事件/任务的执行顺序 事件和任务是以先进先出(FIFO)的顺序执行的。这样可以通过保证字节内容总是按正确的顺序被处理,消除潜在的数据损坏的可能性。任务的调度偶尔,你将需要调度一个任务以便稍后(延迟)执行或者周期性地执行。例如,你可能想要注册一个在客户端已经连接了5 分钟之后触发的任务。一个常见的用例是,发送心跳消息到远程节点,以检查连接是否仍然还活着。如果没有响应,你便知道可以关闭该Cha...原创 2020-04-11 01:07:41 · 581 阅读 · 0 评论 -
【java】-Netty--ByteBufUtil
将报文直接写文16进制hexDump():能够将参数ByteBuf的内容转换为十六进制的字符串byte[] data = msg.getData(); // wl 解析出报文中的时间 yyMM 808_2019_time String s = ByteBufUtil.hexDump(data);...原创 2020-04-08 18:49:16 · 4301 阅读 · 0 评论 -
【java】-springboot-注解-@RequestBody-zj
有了fegin,可以不写此注解如果参数前不写@RequestParam(xxx)的话,那么就前端可以有可以没有对应的xxx名字才行,如果有xxx名的话,那么就会自动匹配;没有的话,请求也能正确发送。追注:这里与feign消费服务时不同;feign消费服务时,如果参数前什么也不写,那么会被默认是@RequestBody的。...原创 2020-04-04 21:59:53 · 153 阅读 · 0 评论 -
【java】-Netty-基础-jc-SimpleChannelInboundHandler
channel接口channel接口的作用是连接buffer和Selector,可以认为channel就是socket,每个channel都会分配一个ChannelPipeLine和channelconfig。同时,每个channelconfig包含了channel的所有配置设置,且支持热更新。channelpipeline,可以认为是channel通向Selector的桥梁或者管道。cha...原创 2020-03-30 23:49:13 · 1705 阅读 · 0 评论 -
java编码技巧-jq
001 数组和list的选择数组是定长的,ArrayList是变长的。由于数组长度是固定的,因此在生命数组时就已经分配好内存了。而数组的操作则会更快一些。另一方面,如果不知道数据的大小数组可以是多维的,但ArrayList只能是一维的。 数组常用于固定的,已知的,东西,List对付未知的。002 多使用枚举比如系统的返回码 返回message......原创 2020-01-16 09:44:20 · 138 阅读 · 0 评论 -
代码欣赏,如何使用全局静态变量-sx-匿名
使用final 来加快工具类的速度package com.streamax.basePlatForm.util;/** * 系统常量定义* @author slpan* @date 2018年8月15日 下午3:39:19*/public class SystemConstant { public static final int RESPONSE_CODE_200 = 200;...原创 2020-01-14 17:41:32 · 227 阅读 · 0 评论 -
java接口的参数校验-youli
java接口拿到参数会进行解密或者参数的校验。我一般使用JavaEE的校验工具包:思想:直接校验所有的参数,然后抛出异常,你的异常的抛出在接口处进行抓取和返回:举例: @PostMapping("/v1.0/cardType") public CommonResult cardTypexx(@RequestParam Map entity) { JSONOb...原创 2019-11-13 18:11:10 · 1695 阅读 · 0 评论