JAVA学习
江西昊仔
程序员的修炼之路---手撕源代码
展开
-
Java基础学习目录
目录原创 2023-04-12 10:05:33 · 95 阅读 · 0 评论 -
Java对象与JSON字符串的互转
Java对象与JSON字符串的互转转载 2023-02-15 22:40:04 · 827 阅读 · 0 评论 -
sun.misc.sun.misc.BASE64Decoder 与org.apache.ws.security.util.Base64 的不同之处
比较两者不同之处首先,当string的length()为56的时候,,两者base64是相同的,返回true。当超过56的时候,则出现不同。当我使用 EncryptUtils.base64EncoderSun(sourceDATA.getBytes(CommonConstants.GBK)).replaceAll("\r|\n", “”)这样来替换换行符。看看结果。原因就是sun.misc的base64超过一定长度会自动换行(\r、\n),所以导致两者不一致。以下的帮助类截图...转载 2021-12-28 15:02:28 · 240 阅读 · 0 评论 -
stream之map的用法
map函数的作用就是针对管道流中的每一个数据元素进行转换操作。一、Stream管道流map的基础用法最简单的需求:将集合中的每一个字符串,全部转换成大写!List<String> alpha = Arrays.asList("Monkey", "Lion", "Giraffe", "Lemur");//不使用Stream管道流List<String> alphaUpper = new ArrayList<>();for (String s : alpha)转载 2021-11-25 15:36:13 · 63061 阅读 · 3 评论 -
要想用活Redis,Lua脚本是绕不过去的坎
前言Redis 当中提供了许多重要的高级特性,比如发布与订阅,Lua 脚本等。Redis 当中也提供了自增的原子命令,但是假如我们需要同时执行好几个命令的同时又想让这些命令保持原子性,该怎么办呢?这时候就可以使用本文介绍的 Lua 脚本来实现。发布与订阅发布与订阅功能理论上来说可以直接通过一个双端链表就可以实现了,然而这种通过普通的双端链表来实现的发布与订阅功能有两个局限性:如果生产者生产消息的速度远大于消费者消费消息的速度,那么链表中未消费的消息会大量堆积,导致占用大量的内存。基于链表实现的消息转载 2021-11-25 13:52:51 · 292 阅读 · 0 评论 -
面试官:如何从10亿数据中快速判断是否存在某一个元素?
面试官:如何从10亿数据中快速判断是否存在某一个元素?面试官:如何从10亿数据中快速判断是否存在某一个元素?前言当 Redis 用作缓存时,其目的就是为了减少数据库访问频率,降低数据库压力,但是假如我们某些数据并不存在于 Redis 当中,那么请求还是会直接到达数据库,而一旦在同一时间大量缓存失效或者一个不存在缓存的请求被恶意攻击访问,这些都会导致数据库压力骤增,这又该如何防止呢?缓存雪崩缓存雪崩指的是 Redis 当中的大量缓存在同一时间全部失效,而假如恰巧这一段时间同时又有大量请求被发起,那么转载 2021-11-25 13:50:57 · 473 阅读 · 0 评论 -
2021-09-16 Swagger入门使用
1.使用官方依赖在pom.xml中添加swagger相关依赖 一个包,一个ui界面 【springfox-swagger2,springfox-swagger-ui】创建一个swagger配置类,注解:@Configuration @EnableSwagger2访问:ip:端口 /swagger-ui.html原创 2021-09-16 10:27:33 · 116 阅读 · 0 评论 -
JAVA集合关系图之详细汇总Collectio、List、Set、Queue、Map
CollectionMap原创 2021-06-05 10:09:41 · 947 阅读 · 1 评论 -
JDBC流程
* JDBC,数据库操作 * 1.加载驱动 * 2.连接数据库 * 3.关闭数据库 * 4.对数据库操作(增,删,改)模块import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class Based...原创 2021-06-02 18:29:07 · 311 阅读 · 0 评论 -
java中的精度计算--BigDecimal
对于一些精度的计算,我们需要使用java.math包下的BigDecimal类,确保他们的精度是我们需要的结果BigDecimal.valueOf(a) 将a包装成BigDecimal类import java.math.BigDecimal;import static java.math.BigDecimal.*;public class TestDouble { public static void main(String[] args) { double a原创 2021-05-26 10:40:01 · 646 阅读 · 0 评论 -
有关Thread的面试问题?
线程面试问题?1.创建线程有几种方式?常见的就两种:继承Thread类,实现Runnable接口;还一种方式:JUC并发方向,实现Callable接口;* 推荐: 避免单继承的局限性,优先使用接口* 方便共享资源上面三种都是通过接口创建线程最后这个:通过线程池来创建线程(稀少)1.继承Thread类* 创建线程方式一:* 1、创建:继承Thread+重写run* 2、启动: 创建子类对象 + startpublic...原创 2021-05-22 10:05:08 · 218 阅读 · 0 评论 -
线程、进程、CPU的关系
原创 2021-05-21 17:10:40 · 201 阅读 · 0 评论 -
Java中的泛型
首先让我们来了解了解什么是泛型?我先跟大家举个例子,如整理物品。假如我们有几个箱子,如果没有指定放什么进去,我们是不是可以随便放什么(鞋子、袜子、裤子、衣服等等),而且可以随便放,就会显得非常乱,到时候我们需要拿出来的时候都不方便。但是,如果我们在放东西的时候,先给箱子贴一个标签,只能标签这一类的,衣服一个箱子、袜子一个箱子、衣服一个箱子,到时候我们需要什么物品,就可以在那个物品的箱子里找,就不要到处乱找,既可以方便我们储存东西,有可以提高查找效率。所以说,如果我要装什么东西,只要在箱子(c原创 2021-05-21 11:17:28 · 72 阅读 · 0 评论 -
try-catch()-finally讲解
1、try - catch() - finally 的使用?【try】使用 try 执行一段代码,当代码块中出现异常后,会停止后续代码的执行,然后跳至 catch 语句块 ,如果没有出现异常,则不会执行catch语句块,但是会执行finally语句块。【catch()】使用 catch 来捕获指定的异常,并进行处理 。【finally】 finally 语句块表示的语义是在 try、catch 语句块执行结束后,最后一定会被执行 。2、try - catch() - finally...原创 2021-05-31 08:35:32 · 725 阅读 · 0 评论 -
MySQL和MariaDB区别
浅谈MySQL和MariaDB区别(mariadb和mysql的性能比较)更新时间:2018年02月21日 16:35:10 投稿:mdxy-dxy MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的...转载 2021-05-26 17:11:37 · 4849 阅读 · 1 评论 -
内部类的使用
原创 2021-05-26 14:29:56 · 53 阅读 · 0 评论 -
测试暴力反射
1、暴力反射--获取和设置私有属性2、暴力反射--获取私有方法原创 2021-05-26 11:13:38 · 61 阅读 · 0 评论