
java
文章平均质量分 77
KANLON
一个经常在做CURD而不仅仅满足于CURD的boy,联系-CrudBoys 公众
展开
-
1分钟完成在线测试部署便捷收集班级同学文件的web管理系统
按照文章中的三个步骤,如果选择 cfile项目进入fork,fork后然后进入云IDE,就可以1分钟内完成部署便捷收集班级同学文件的web管理系统了原创 2022-11-06 23:53:50 · 394 阅读 · 0 评论 -
idea 设置java格式化(不自动换行,保留自己代码编写的换行)
设置idea格式化文件保留换行原创 2022-07-29 10:36:53 · 9325 阅读 · 2 评论 -
Davinci 可视化系统部署安装及简单使用
安装部署基于 Ubuntu 16.04 LTS ,davinci0.3.1 构建,chrome 和 chromedriver 版本 89.0.4389.114安装脚本echo "复制安装包"cp /data/hiido-web/davinci-install-package/davinci0.3.1.zip /data/services/##{.PKG_NAME}##unzip davinci0.3.1.zip mv davinci-assembly_0.3.1-0.3.1-SNAPSH原创 2021-05-23 21:11:35 · 3567 阅读 · 2 评论 -
Spring Boot的自动配置原理及启动流程源码分析
概述Spring Boot 应用目前应该是 Java 中用得最多的框架了吧。其中 Spring Boot 最具特点之一就是自动配置,基于Spring Boot 的自动配置,我们可以很快集成某个模块,不用加 xml 之类的配置文件,大部分情况下甚至什么配置都不用写,直接引起 maven 包即可使用。之前我也仅仅会用的,但是它怎么实现的是没有详细了解,都是通过看别人的文章大概知道了流程,但是这样好像总是记得不是很清楚,所以就打算也自己也输出一份,方便自己将来记忆另外也方便自己查看。因为之前搜索的这个知识点的原创 2021-05-05 12:54:51 · 423 阅读 · 0 评论 -
简单谈谈网络抓包,特别是thrift 接口
最近,我在公司做这样的一个事情,整理老旧的api服务,需要统计接口的每个请求的ip和请求参数,找出对应的调用的ip,以便通知业务方修改为新的api服务。其中我们的这个api服务调用有分为thrift调用和http调用,由于之前的旧的服务设计比较简陋,没有通过dubbo 等注册中心调用,也没有完整的监控(不要问我为什么没有,我也很无奈????),导致我想找出调用ip也找不到,日志里面没有记录。刚开始我们是想修改原业务代码,加上调用ip和请求参数的日志打印的。原本以为不会有什么问题,但是我们准备开始动手改造的原创 2021-01-01 23:06:00 · 984 阅读 · 0 评论 -
最火的分布式调度系统 XXL-JOB 安装和简单使用
唉,在谈文章之前先说一下自己的情况。原计划是在上周六写完这篇文章的,然而周六的时候打开电脑的,按照平常"惯例",先补一些 “黑色五叶草”/“进巨”的番,然后刷着刷着就忘记写????,接着就逛逛知乎,逛逛b站。啪地一下,趁我不注意????,周六日就过去,于是就拖到了这周才来更新(立下的flag总是被自己打倒????)。这周六日我有也有写部分,不过发现做一个这样的教程类文章也是挺耗时间(这篇文章差不多耗了我两个周末的时间),要先自己搭建完好之后,然后把其中每一步的操作都记录下来,相当于为了写这篇文章,我搭了2,原创 2020-12-21 21:42:34 · 2572 阅读 · 1 评论 -
分布式调度任务系统调研及选型
Linux Crontab 定时任务,只能单机执行与linux机器固定绑定,可以通过cron 表达式定时执行shell脚本。简单易使用,不好后期维护Java 原生的定时器Time,比较少用,缺点较多优点:简单,不用引入其他框架缺点:Timer在执行所有定时任务时只会创建一个线程,如果某个任务的执行时间过长,那么将破坏其他TimerTask的定时精确性Timer的另一个问题是,如果TimerTask抛出了一个未检查的异常,那么Timer线程不会捕获异常,此时会终止定时线程,并且不会恢复。 参考:htt原创 2020-11-23 00:06:42 · 587 阅读 · 0 评论 -
Jackson—— 转 List 和 Map 集合泛型 为Json 字符串 或 反转化
0、最近有遇到,Jackson 在如何 将 json 字符串 转化为 List 泛型的对象,刚开始的时候由于自己不太了解 Jackson 反序列化的一些方法,导致,反序列的时候总是不成功,后面经同事指导和看了一些官网文档,才发现正确的转化用法,于是,就将官网推荐的一个教程,翻译成这篇博客,以便参考。以下为翻译内容:1、概述本教程将展示如何使用Jackson 2将JSON数组反序列化为Java...翻译 2020-04-12 14:55:45 · 1297 阅读 · 0 评论 -
Arthas 简单使用
这里简单记录一下使用Arthas的使用命令,以便自己下次查找使用的时候,方便使用,因为官方的文档,默认使用的 github 的地址下载,所有有时候下载很慢。其它官方文档就很简单,主要是下载的链接不好。第一步: 下载 及运行curl -O https://arthas.gitee.io/arthas-boot.jarjava -jar arthas-boot.jar第二步:通过 w...原创 2020-02-24 15:27:12 · 1034 阅读 · 0 评论 -
Spring Boot Admin 发送监控邮件
最近在弄关于运行中的服务的Jvm监控,经过同事和自己搜索发现目前主要有两种方案,普罗米修斯和 Spring Boot Admin,由于我们的系统是基于 Spring Cloud 的,所有可能搜索的都与 Spring Cloud 比较容易整合的。 Spring Boot Admin 是比较容易接入的,只要将加上 Spring Boot Admin 依赖简单配置一下,然后注册到 Spring...原创 2020-01-21 18:30:43 · 1991 阅读 · 1 评论 -
Java8的集合操作常用方法
List集合转化为Map。/** * List -> Map * 需要注意的是: * toMap 如果集合对象有重复的key,会报错Duplicate key .... * apple1,apple12的id都为1。 * 可以用 (k1,k2)->k1 来设置,如果有重复的key,则保留key1,舍弃key2 */Map<Integer, Apple>...原创 2019-12-03 14:33:36 · 799 阅读 · 0 评论 -
docker 和 docker swarm 常用的命令
这篇文章记录一些常用的docker命令,有些是docker swarm专用命令,主要是为了,方便记录一下,以防防止和方便查找。docker images -f dangling=true 查询显示虚悬镜像 。参考:https://www.jianshu.com/p/3ccc32c7c584docker stack ls 查看部署的堆栈docker stack rm {s...原创 2019-10-21 10:46:22 · 553 阅读 · 1 评论 -
阿里的Easyexcel读取Excel文件(最新版本)
本篇文章主要介绍一下使用阿里开源的Easyexcel工具处理读取excel文件,因为之前自己想在网上找一下这个简单的立即上手的博客,发现很多文章的教程都针对比较旧的版本的Easyexcel,没有使用新版本的方法,导致很多方法都标志过期了或者运行时报错,所以本篇博客主要是使用最新版的Easyexcel去读取excel文件,顺便说一下目录新版本的特性。优化目前读取excel文件不再需要指定E...原创 2019-10-21 09:23:58 · 44210 阅读 · 14 评论 -
Java直接根据正则表达式判断是否是double类型数字
目前有一个需求是根据一个字符串,判断该字符串是否是double类型数字,在网上找了很久,找了很多方案都发现不能完整判断,我是需要先通过正则判断,再利用new BigDecimal(str);来转成数字的,为了不出错,需要之前判断一下该字符串是否是数字。后来就自己写了一个出来,作为记录,也为了防止出错,放在这里,让大家校验一下。如果有错,请留言。private final static Pa...原创 2019-09-04 11:25:36 · 4126 阅读 · 1 评论 -
java实现哈夫曼编码(huffman)编码
这篇博客主要讲解如何用java实现哈夫曼编码(Huffman)。概念 首先,我来简单说一下哈夫曼编码(Huffman),它主要是数据编码的一种方式,也是数据压缩的一种方法,将某些特定的字符转化为二进制字符,并在转换过程中降低原有字符串的存储量。其具体方法是先按出现的概率大小排队,把两个最小的概率相加,作为新的概率 和剩余的概率重新排队,再把最小的两个概率相加,再重新排队,直到最后变成...原创 2018-05-07 12:54:57 · 10076 阅读 · 0 评论 -
java常用正则表达式
“^/d+$” //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$” //正整数 “^((-/d+)|(0+))$” //非正整数(负整数 + 0) “^-[0-9]*[1-9][0-9]*$” //负整数 “^-?/d+$” //整数 “^/d+(/./d+)?$” //非负浮点数(正浮点数 + 0) “^...转载 2018-05-26 16:42:41 · 274 阅读 · 0 评论 -
凯撒加解密实验
本篇博客主要讲述了用java和matlab来实现凯撒加解密的过程。理论 对于现代密码体制来说,尽管加解密的方式不同,但大都数加解密都是基于对明文信息的“置换”和“代换”或者通过二者的乘积来完成的。凯撒密码是密码算法中最简单的操作“移位代换”中的一种最为古老的对称加密体制。凯撒加密 基本思想:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)...原创 2018-05-27 11:38:26 · 3769 阅读 · 2 评论 -
常用排序算法(java实现)
这篇博客主要说一下常见的排序算法,有些算法会给出相应的java代码。 排序的目的是为了提高查找的效率。 排序算法主要分为内部排序和外部排序,或者稳定排序或不稳定排序。 内部排序是指排序序列完全存放在内存中进行的排序过程,这种方法适合数量不太大的数据元素的排序。外部排序是指待排序的数据元素非常多,以至于它们必须存储在外部存储器上,这种排序过程中需要访问外存储器,这样的排序称为外...原创 2018-06-20 00:48:56 · 234 阅读 · 0 评论 -
Java多线程详解
多线程概念,意义进程与线程java多线程实现方式(三种)继承Thread类实现Runnable接口Executors线程池,实现Callable接口java多线程安全及同步线程安全问题产生条件线程安全问题解决(同步机制)synchronized关键字同步代码块同步方法同步静态方法lock方式(jdk1.5)死锁线程间通信(消费者生成者模式)wa...原创 2018-08-26 10:13:30 · 254 阅读 · 0 评论 -
比较两个数组中的所有元素是否相等的最简单方法(时间复杂度最低),只需三次循环
比较两个数组中的所有元素是否相等的最简单方法(时间复杂度最低),只需三次循环题目思路1思路2Java代码实现题目这里有两个数组,要比较他们全部元素是否相等,例如有两个数组{1,2,46} ,{2,46,1} 这样的数组他们含有相同元素,所以相等。而{2,4},{4,5} 这样的两个数组则不相等。思路1 直接对两个数组进行排序,然后在进行遍历逐个比较,这样是一个方法,好处是不用占用别的空...原创 2018-09-28 17:18:28 · 15625 阅读 · 1 评论 -
2018Java岗位面试和笔试汇总
1.tomcat 重启后,第一次打开页面很慢,后面就渐渐快了,是什么原因?可能使因为第一次链接要初始化数据库连接池和如果是jsp文件,需要编译。参考:https://bbs.csdn.net/topics/3602134952.Double d=42.0; d.equals(42);是否为true?byte i=10;和byte i=200;是否正确?d.equals(42)的值为fa...原创 2018-10-18 21:06:01 · 370 阅读 · 0 评论 -
Spring Boot @Enable*注解源码解析及自定义@Enable*
Spring Boot @Enable注解源码解析及自定义@EnableSpring Boot 一个重要的特点就是自动配置,约定大于配置,几乎所有组件使用其本身约定好的默认配置就可以使用,大大减轻配置的麻烦。其实现自动配置一个方式就是使用@Enable*注解,见其名知其意也,即“使什么可用或开启什么的支持”。Spring Boot 常用@Enable*首先来简单介绍一下Spring Boo...原创 2019-02-14 18:13:33 · 4394 阅读 · 2 评论 -
Spring Boot中Spring MVC的源码解析
spring boot中spring mvc的源码解析这篇博客主要讲解一下spring boot中spring mvc的流程及其源码部分解析。初始化spirng boot中的spring mvc与原本的spring mvc初始化不同,使用spring配置来引导自身和其嵌入Servlet容器,而不是像之前那样挂载到Serlet容器的生命周期。而是基于spring boot的自动配置启动,首先初...原创 2019-02-22 16:25:02 · 1480 阅读 · 0 评论 -
java操作word的方法(总结)
这篇博客是用来总结java操作word的方法,因为我有的一个项目即将要用到java来操作word,所以暂时写这篇博客来记录一下,而且我看了网上很多的资料都没有发现比较完善的有关java操作word的方法的总结,因此想写一篇博客来补充这个方面的不足。(由于本人经验尚且不足,这里没有对方法的实现原理进行探究) 首先,总的来说,java操作word文档有三种: 1)Apache POI原创 2018-01-14 00:32:45 · 7196 阅读 · 2 评论