1 狂野弘仁

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 16w+

SpringBoot修改启动端口server.port方式

以应用参数的方式java -jar XXXXX.jar --server.port=10000或以 JDK 参数的方式java -Dserver.port=10000 -jar XXXXX.jarjava -Dspring.application.json=’{“server.port”:10000}’ -jar XXXXX.jarjava -jar XXXXX.jar --spring.application.json=’{“server.port”:10000}’...

2020-08-12 17:33:45

map 排序按KEY VALUE

/** * java 8 version 按value排序 * * @param map 待排序的map * @param isDesc 是否降序,true:降序,false:升序 * @return 已排序map */ public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> ma

2020-08-12 15:32:36

JAVA 计算百分比

/** * 计算百分比 默认保留两位 * @param diliverNum 被除数 * @param queryMailNum 除数 * @return */ public static String percentageStr(double diliverNum,double queryMailNum){ return percentageStr(diliverNum,queryMailNum,2); } /**

2020-08-12 14:30:46

正则提取括号中的内容{} () []

提取{}内容public static Pattern pattern = Pattern.compile("(?<=\{)[^\}]+");public static void main(String[] args) {String content = “${name} ${value} “;Matcher m = pattern.matcher(content);while (m.find()) {System.out.println(” find: " + m.group() );

2020-08-07 17:20:43

Spring Boot启动会扫描以下位置的application文件

Spring Boot启动会扫描以下位置的application.properties或者application.yml文件作为spring boot的默认配置文件-file:/config/-file:./-classpath:/config/-classpath:/-以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级的配置内容会覆盖低优先级配置内容。-我们也可以通过配置spring.config.location来改变默认配置。...

2020-08-04 15:54:44

客观的衡量想法

战略咨询师巴德·卡德尔把工作分为三类:善于做的、喜欢做的和能赚钱的。同时他用了一张极其简单的图,高度概括了我们应该如何选择职业:善于做的 ∩ 希望做的 ∩ 能赚钱的

2020-07-29 09:36:01

Web项目开发中常见安全问题防范

背景随着计算机网络技术的快速发展,Web应用技术在各个领域都得到了广泛的应用,但是由于不法分子针对Web应用程序相关安全漏洞的挖掘利用及恶意攻击手段的层出不穷,而与此同时国内Web应用开发人员水平参差不齐,很多开发人员安全意识淡薄,导致Web应用存在各种各样的安全漏洞,使得Web应用程序在给用户提供简便、快捷服务的同时,用户不得不为其自身可能存在的Web安全问题而担忧。主要针对Web项目中常见的安全问题进行深入的研究与分析,并对提出的各种安全问题给出了一些有效的解决方案。安全常见问题及防范1.输入检查

2020-07-23 14:43:06

SSO流程图

2020-07-23 14:39:06

MQTT采集

2020-07-23 14:37:00

springboot jar 转换成war

Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布。使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题。所以,jar包不一定合适适用所有的场景,如war包更合适,你可以尝试转为传统的war包,这样打补丁包可能更方便。1.修改Spring Boot启动类启动类继承 SpringBootServletInitializer类,并覆盖 configure方法。public class XXXApplicationWar extend

2020-07-23 13:44:29

spring事务的传播机制及原因分析

PROPAGATION_REQUIRED – 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS – 支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY – 支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW – 新建事务,如果当前存在事务,把当前事务挂起。PROPAGATION_NOT_SUPPORTED – 以非事务方式执行操作,如果当前存在事务,就把当前

2020-07-14 17:08:39

微信公众号域名验证路径正则表达式

@Controller@RequestMapping("/")@PropertySource(value = “classpath:application_mp_verify.properties”)@ConfigurationProperties(prefix = “mp”)public class WxMpVerifyConfigController {private Map<String, String> verify = new HashMap<>();priva

2020-07-13 16:48:59

微服务与单体服务的拆分原则

单体架构的优势:1、便于开发2、易于测试3、易于部署单体架构的不足:1、复杂性高2、交付效率低:构建和部署耗时长3、伸缩性差:只能按整体横向扩展,无法分模块垂直扩展,IO密集型模块和CPU密集型模块无法独立升级和扩容4、可靠性差:一个BUG可能引起整个项目的运行5、阻碍技术创新微服务架构的优势:1、易于开发和维护2、独立部署3、伸缩性强4、与组织结构相匹配5、技术异构性微服务面临的挑战:1、服务拆分:(1)、微服务拆分原则:领域模型、组织结构、康威定律、单一职责(2).

2020-07-10 07:23:16

java线程池大小设置

一般说来,大家认为线程池的大小经验值应该这样设置:(其中N为CPU的个数)如果是CPU密集型应用,则线程池大小设置为N+1如果是IO密集型应用,则线程池大小设置为2N+1这个说法到底是不是正确的呢?其实这是极不正确的。那为什么呢?首先我们从反面来看,假设这个说法是成立的,那我们在一台服务器上部署多少个服务都无所谓了。因为线程池的大小只能服务器的核数有关,所以这个说法是不正确的。那具体应该怎么设置大小呢?假设这个应用是两者混合型的,其中任务即有 CPU 密集,也有 IO 密集型的,那么我们改怎么

2020-07-10 06:39:17

索引结构B+树

m阶B树具有如下特征:1.根结点至少有两个子女。2.每个中间节点都至少包含ceil(m / 2)个孩子,最多有m个孩子。3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m。4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。B+树与B树的区别有k个子结点的结点必然有k个关键码(有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点

2020-07-07 20:49:05

java中对象、成员变量、静态变量、方法的内存分配

java中内存主要包含4块,heap(堆内存)stack(栈内存)data segment(静态变量或是常量存放区)codesegment(方法区).堆内存中存放的是new出的对象,new出的对象只包含成员变量。栈内存中:存放的是局部成员变量。对于基本的数据类型存放的是基本变量的值,而对于对象变量,存放的是堆内存的地址。静态、常量区:存放的是静态变量(类变量)或是常量。方法区:存放的是对象的方法。因此即使new出多个对象也是只是存在一个方法。...

2020-07-07 15:17:38

JVM类装载分为以下 5 个步骤

加载:根据查找路径找到相应的 class 文件然后导入检查:检查加载的 class 文件的正确性准备:给类中的静态变量分配内存空间解析:虚拟机将常量池中的符号引用替换成直接引用的过程。符号引用就理解为一个标示,而在直接引用直接指向内存中的地址初始化:对静态变量和静态代码块执行初始化工作...

2020-07-07 13:58:27

Maven的Scope

scope定义了类包在项目的使用阶段。项目阶段包括: 编译,运行,测试和发布。compile默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去test该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junitruntime依赖仅参与运行周期中的使用。一般这种类库都是接口与实现相分离的类库,比如JDBC类库,在编译之时仅依赖相关的接口,在具体的运行之时,才需要具体的mysql、oracle等等数据的驱动程序。此类的驱

2020-07-06 21:49:00

GC Roots

虚拟机栈(栈桢中的本地变量表)中的引用的对象方法区中的类静态属性引用的对象方法区中的常量引用的对象本地方法栈中JNI的引用的对象

2020-07-06 20:20:06

JAVA线程池的执行过程

线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。当调用 execute() 方法添加一个任务时,线程池会做如下判断:如果正在运行的线程数量小于 corePoolSize,那么马上创建线程运行这个任务;如果正在运行的线程数量大于或等于 corePoolSize,那么将这个任务放入队列;如果这时候队列满了,而且正在运行的线程数量小于 maximumPoolSize,那么还是要创建非核心线程立刻运行这个任务;如果队列满了,而且正在.

2020-07-04 21:23:32

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。