java学习
小高求学之路
22届毕业生,2021年荣获第十二届蓝桥杯陕西赛区二等奖
展开
-
基于AES加密websocket连接传输
System.err.println("TCP 连接失败: " + e.getMessage());System.err.println("IP 地址解析失败: " + e.getMessage());System.err.println("ICMP ping 失败");// 确保数据已发送。// 确保数据已发送。// 使用AES-256。// 尝试进行 ICMP ping。原创 2024-08-15 18:51:10 · 911 阅读 · 0 评论 -
获取指定目录下的所有某个后缀的文件
@return 如果文件名以给定的后缀结尾,返回true;* @param fileSuffixFilter 需要过滤的后缀,用分号分隔。* @param directoryPath 指定的目录路径。* @param fileSuffixArray 需要过滤的后缀。* @param rootPath 根目录路径。* @param directory 指定的目录。* @param suffixArray 后缀数组。* @param rootPath 根目录路径。原创 2024-08-15 18:41:06 · 434 阅读 · 0 评论 -
java读取csv文件,并可以指定读取具体的某一列
【代码】java读取csv文件,并可以指定读取具体的某一列。原创 2024-06-06 16:08:45 · 483 阅读 · 0 评论 -
设置时间格式,设置时区,标准时间yyyy-MM-dd HH:mm:ss
*** 时间*/原创 2024-06-06 09:21:52 · 141 阅读 · 0 评论 -
java对excel文件里面的数据进行追加或者写入,修改等工具类
【代码】java对excel文件里面的数据进行追加或者写入,修改等工具类。原创 2024-05-22 17:18:31 · 562 阅读 · 0 评论 -
程序员的实用神器
在软件开发的海洋中,程序员的实用神器如同航海中的指南针,帮助他们导航、加速开发、优化代码质量,并最终抵达成功的彼岸。特别说明:这些提示代码,可能和预期的代码还是有出入的。推荐理由:不用写大量的 getter、setter代码,让代码更加整洁。推荐理由:mapper 和 xml 对应方法之间可以快速跳转,再也不用通过全文搜索的方式查找。推荐理由:对于英文不太好的同学是一个非常不错的工具,不用再将单词复制到单独的翻译工具。推荐理由:扫描静态代码快,快速发现可能有问题的代码快。推荐理由:对不规范的代码进行校验!原创 2024-05-14 15:12:02 · 625 阅读 · 0 评论 -
java如何直接读取excel文件进行增删改查操作
在这里我自己写了一个工具类, 可以参考一下,就是把读取的文件用Redis进行缓存,根据文件最后的修改时间和文件名作为Key值进行存储 和查询,这样的话就可以保证查询速率,只有在第一次加载的时候,比较慢,后面的话,如果不改动文件内容的话,之后用的都是redis里面缓存的值.获取到文件储位置后,就可以进行用文件操作类进行操作,这里可以用若依框架里面自带的,或者使用hutool工具,也可以。这个工具类可以适用不同的类型,也就是List这种 使用的时候直接传入你需要读取的文件,和相对应接收的。原创 2024-05-14 14:54:20 · 362 阅读 · 0 评论 -
java最简易调用DLL文件进行获取结果(必看)
一定要用native static这个关键字。原创 2024-05-14 14:42:44 · 229 阅读 · 0 评论 -
JDK21稳定版最简单安装
下载后安装到指定的目录 这里用D:盘。然后再项目中就可以设置21JDK。原创 2024-04-10 08:00:00 · 316 阅读 · 0 评论 -
集成sharding-jdbc实现分库分表
链接: https://pan.baidu.com/s/13JVC9jm-Dp9PfHdDDylLCQ 提取码: y9jt。的一款分布式数据库中间件,支持垂直分库、垂直分表、水平分库、水平分表、读写分离、分布式事务和高可用等相关功能。模块添加sharding-jdbc整合依赖。5、下载插件相关包和代码实现覆盖到工程中。下载插件相关包和代码实现。2、创建两个测试数据库。3、创建两个测试订单表。原创 2024-04-09 14:44:31 · 389 阅读 · 0 评论 -
MySQL分库分表的方式有哪些
分库分表方案是对关系型数据库数据存储和访问机制的一种补充。将一个库的数据拆分到多个相同的库中,访问的时候访问一个库把一个表的数据放到多个表中,操作对应的某个表就行。原创 2024-04-09 09:30:58 · 1671 阅读 · 0 评论 -
jvm总结学习
JVM在垃圾回收的时候,需要找到“垃圾”对象,也就是没有被引用的对象,但是直接找垃圾对象是比较耗时间的,所以反过来找,先找非垃圾对象,也就是正常的对象,那么就要从某些“根”去找,根据这些根的引用路径找到正常的对象,而这些根有个特征,就是它会引用其他的对象,而不会被其他的对象引用,例如:栈中的本地变量,方法区的静态变量,本地方法栈的变量,正在运行的线程等都可以作为GC root;一个jvm只有一个堆,堆的大小可以调节, 一般 类,方法,常量,变量 ,保存我们所有引用类型的真实对象;原创 2024-04-03 16:32:19 · 844 阅读 · 0 评论 -
设置应用软件开机自动启动
如果输出结果是 "enabled",则表示 Nginx 已经设置为自启动。在 Linux 操作系统中,Nginx 通常已经被配置为自启动。请注意,以上步骤假设你已经正确地安装了 Nginx。在执行任何操作之前,请确保 Nginx 已经成功安装。现在,当你登录到你的计算机时,Nginx 将会自动启动。这将在启动时自动启动 Nginx。原创 2024-03-15 10:38:03 · 252 阅读 · 0 评论 -
全网最详细Docker命令(分类总结)
docker run -d -p 3344:80 --name nginx02 -v juming-nginx:/etc/nginx:ro nginx docker run -d -p 3344:80 --name nginx02 -v juming-nginx:/etc/nginx:rw nginx # 只要看到ro就说明这个路径只能通过宿主机来操作,容器内部是无法操作!通过 docker inspect 容器ID --查看挂载信息。docker run -it -v 主机目录:容器内目录。原创 2024-03-13 09:57:37 · 1095 阅读 · 0 评论 -
通过某个公共属性 合并2个list
【代码】通过某个公共属性 合并2个list。原创 2024-03-13 09:22:25 · 110 阅读 · 0 评论 -
java 保证方法顺序执行 (运用线程)
要保证这三个方法按照指定的顺序执行,可以使用 Java 中的线程池和 FutureTask 来实现。下面是一个简单的示例代码,用于按顺序执。原创 2024-03-12 09:18:00 · 435 阅读 · 0 评论 -
String 转 Map
【代码】String 转 Map。原创 2024-03-12 09:16:52 · 2545 阅读 · 0 评论 -
设置 IDEA 中的 Tab 键为 4 个空格
原创 2022-04-22 10:58:50 · 1086 阅读 · 0 评论 -
bootstrap.properties 和 application.properties的区别?
加载顺序bootstrap.yml(bootstrap.properties)先加载 application.yml(application.properties)后加载二者不同跟 application 相比,bootstrap 配置文件具有以下几个特性:bootstrap 由父 ApplicationContext 加载,比 application 优先加载 bootstrap 里面的属性不能被覆盖 应用场景 application:主要用于spring boot 项目的自动化配置原创 2022-04-13 14:49:38 · 4601 阅读 · 4 评论 -
Redis 三种模式(Single 、Cluster、Sentinel)的连接方式
/** * 判断 redis 是否可以连接成功 * * @param * @return */ public Map<String, Object> urlLink(T_redis record) { String redisType = record.getRedis_type(); String url = record.getUrl(); List<Map<St...原创 2022-04-09 15:28:49 · 2595 阅读 · 2 评论 -
JDK 1.8 特性
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。 Lambda 表达式− Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。 方法引用− 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使..原创 2022-04-08 10:16:18 · 146 阅读 · 0 评论 -
Java JDK11 新特性
本地变量类型推断public class Client { public static void main(String[] args) { var name = "lisi"; System.out.println(name); List<String> names = Arrays.asList("a", "b", "c"); for (var s : names) { System.out.println(s); }原创 2022-04-08 10:11:55 · 1192 阅读 · 1 评论 -
@RequestParam()和@PathVariable()的区别
原创 2022-03-30 14:13:12 · 131 阅读 · 0 评论 -
React中父类和子类数据传递
useImperativeHandleuseImperativeHandle(ref, createHandle, [deps])useImperativeHandle可以让你在使用ref时自定义暴露给父组件的实例值。在大多数情况下,应当避免使用 ref 这样的命令式代码。useImperativeHandle应当与forwardRef一起使用:下面用实例来体现:子类:(绿色标记)里面的五种数据 在下面可以创建对应的实例方法。然后,在父类上接收子类传过来的(五种)实例方...原创 2022-03-24 13:30:58 · 1609 阅读 · 0 评论 -
单元测试用户手册
单元测试原创 2022-03-16 10:23:35 · 328 阅读 · 1 评论 -
真实项目 Hbase操作表 进行获取数据
package com.newegg.modesty.service;import com.newegg.modesty.config.AutoPartsConfig;import com.newegg.modesty.hbase.HbaseOperation;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;/** * @au原创 2021-12-16 13:25:51 · 2478 阅读 · 1 评论 -
HashMap 四类子类的讲解。分别都适用于哪种场合。
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashM原创 2021-12-14 14:44:23 · 350 阅读 · 0 评论 -
Java AtomicInteger 原子类型应用
java开发中不可避免的会遇到并发的问题。在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是要实现线程安全。那么什么样的标准可以称为线程安全呢?这里有线程安全的定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。举一个线程不安全的小例子。假如我们想实现一个功能来统计网页访问量,首先我们可能想到用count++ 的方法来统计访问量。cou原创 2021-12-14 14:22:59 · 362 阅读 · 0 评论 -
Hbase 中 scan 对象的 setCache 和 setBatch 方法的使用
原创 2021-12-14 13:20:18 · 2401 阅读 · 1 评论 -
Hbase API 操作
package com.modesty;import javax.xml.bind.PrintConversionEvent;/** * @author Modesty.P.Gao * @version 1.0 * @description: TODO * @date 2021/12/9 13:11 */public class Student { private String id; private String name; private Strin原创 2021-12-09 14:33:20 · 199 阅读 · 0 评论 -
Redis 数据操作命令简介
StringsAPPEND:给字符串类型的value后边添加新的字符串。DECR:整数类型的value减一。DECRBY:整数类型的value减去指定值。GET:获取value。GETDEL:查询并删除key。GETEX:查询并设置过期时间。GETRANGE:返回value的子串。GETSET:获取老值,并设置新值。INCR:整数类型的value加一。INCRBY:整数类型的value加一个整数。INCRBYFLOAT:浮点型value加一个数字。MGET:一次获取多个值。MSET原创 2021-12-07 13:39:51 · 687 阅读 · 0 评论 -
深入了解Redis(底层实现)源码 (第四篇)
有序集合为何能同时支持点查询和范围查询?有序集合(Sorted Set)是 Redis 中一种重要的数据类型,它本身是集合类型,同时也可以支持集合中的元素带有权重,并按权重排序。ZRANGEBYSCORE:按照元素权重返回一个范围内的元素。ZSCORE:返回某个元素的权重值这其实就和 Sorted Set 底层的设计实现有关了。Sorted Set 能支持范围查询,这是因为它的核心数据结构设计采用了跳表,而它又能以常数复杂度获取元素权重,这是因为它同时采用了哈希表进行索引。Sorted Set原创 2021-12-04 17:21:23 · 659 阅读 · 1 评论 -
深入了解Redis(底层实现)源码 (第三篇)
如何实现一个性能优异的Hash表?Hash 表是一种非常关键的数据结构,在计算机系统中发挥着重要作用。比如在 Memcached 中,Hash 表被用来索引数据;在数据库系统中,Hash 表被用来辅助 SQL 查询。而对于 Redis 键值数据库来说,Hash 表既是键值对中的一种值类型,同时,Redis 也使用一个全局 Hash 表来保存所有的键值对,从而既满足应用存取 Hash 结构数据需求,又能提供快速查询功能。那么,Hash 表应用如此广泛的一个重要原因,就是从理论上来说,它能以 O(1) 的复原创 2021-12-04 16:12:18 · 862 阅读 · 2 评论 -
深入了解Redis(底层实现)源码 (第二篇)
为什么 Redis 不用 char*?char字符数组的结构很简单,就是一块连续的内存空间,依次存放了字符串中的每一个字符。比如,下图显示的就是字符串“redis”的char数组结构。从图中可以看到,字符数组的最后一个字符是“\0”,这个字符的作用是什么呢?其实,C 语言在对字符串进行操作时,char* 指针只是指向字符数组的起始位置,而字符数组的结尾位置就用“\0”表示,意思是指字符串的结束。这样一来,C 语言标准库中字符串的操作函数,就会通过检查字符数组中是否有“\0”,来判断字符串是否结束。比原创 2021-12-04 15:29:51 · 799 阅读 · 1 评论 -
深入了解Redis(底层实现)源码 (第一篇)
Redis源码全景图Deps目录:第三方依赖库,那么为啥要引进第三方呢?因为Redis作为一个用C语言写的用户态程序,它的不少功能是依赖标准的glibc库提供的,比如内存分配、行读写、文件读写、子进程/线程创建等。但是,glibc库提供的某些功能实现,效率并不高。我举个简单的例子,glibc 库中实现的内存分配器的性能就不是很高,它的内存碎片化情况也比较严重。因此为了避免对系统性能产生影响,Redis 使用了 jemalloc 库替换了 glibc 库的内存分配器。可是,jemalloc 库本身又原创 2021-12-04 15:09:45 · 5483 阅读 · 2 评论 -
Redis 客户端三种不同的实现方式(Redisson、lettuce、jedis)
<dependencies> <dependency><!-- lettuce 依赖--> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> <version>5.0.5.RELEASE</version&g..原创 2021-12-03 15:07:19 · 1216 阅读 · 1 评论 -
Redis 三种客户端各自的优缺点
三种客户端的区别:1.lettuce:是一个完全非阻塞的redis客户端,使用netty构建,提供响应式、异步和 同步的数据访问。多个线程可以共享同一个RedisConnection连接,利用netty NIO框架来 高效的管理多个连接。支持高级的redis特性,比如哨兵、集群、管道、自动重新连接和Redis数据模型。lettuce 的官网地址是:https://lettuce.io/Advantage:支持同步异步通信模式Lettcue的api是线程安全的,如果不是执行阻塞和事原创 2021-12-03 11:16:26 · 1297 阅读 · 5 评论 -
Log4j 根配置语法
把指定级别以上的日志信息输出到指定的一个或者多个位置# Global logging configuration 开发时候建议使用 debuglog4j.rootLogger=error, stdout# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.st原创 2021-12-03 09:51:02 · 494 阅读 · 1 评论 -
java实现 从文件中读取文件,存储到kafka组件中,并消费出来
引入相关的依赖 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration原创 2021-12-03 09:45:57 · 687 阅读 · 2 评论 -
Redis底层 知识(校招、社招必看)
自己总结的脑图,下面是详细知识,如果对整个图片感兴趣的,评论区评论发高清图原创 2021-11-27 16:22:03 · 586 阅读 · 2 评论