自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浪丶荡

我始终相信,在这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活——既可以朝九晚五,又可以浪迹天涯

  • 博客(435)
  • 资源 (16)
  • 论坛 (2)
  • 收藏
  • 关注

原创 走读源码探究HashMap的树化时机以及红黑树的操作机制

通过两篇文章:深入源码分析HashMap到底是怎样将元素put进去的 和 HashMap扩容后,元素是如何重新分布的,我们逐一分析了HashMap的初始化和扩容机制,在末尾还留下了一个悬念,就是HashMap的树化,即什么时候转化成红黑树,以及怎么转成红黑树的没有深入探究,今天我们就来通过走读代码,一步一步走进HashMap的红黑树。目的探究Node转化成TreeNode的时机以及TreeNode的操作机制说明本次探究使用的jdk版本:1.8HashMap结构示意图思路通过以往的两次分析,我

2021-04-15 15:02:16 16

原创 关于技术分享的思考

故事起因讲一个自己的故事,应网友的请求,帮他找一个人,这个人与他通过支付宝发生过金钱上的来往,后面可能是产生了什么纠纷,具体原因我也不太清楚,他的请求就是:能不能通过支付宝上的转账记录查询到对方的手机号。由于支付宝的隐私机制,如果对方的手机号不存在你的手机通讯录中,你是看不到对方的完整手机号的,只能看到前三位和后两位,转账的时候能看到对方的头像与昵称数额比较大的时候还能知道对方的名字,但就是无法看到完整的11位的手机号上面这段话,有个很重要的隐含条件,对方的手机号存在你的手机通讯录中,那我就可以通过支

2021-03-31 11:45:34 76 3

原创 如何将excel中的电话号码快速导入添加到手机上?

如何将excel中的电话号码快速添加到手机上?先将号码复制到txt文档再参考这个:如何将txt文档里面的电话号码快速转换为vcf格式的电话簿导入手机

2021-03-30 18:21:08 72

原创 如何将txt、excel文档里面的电话号码快速转换为vcf格式的电话簿导入手机

研究了一下标准vcf格式文件长什么样子BEGIN:VCARDFN:385TEL;type=CELL;type=VOICE;type=pref:18306228829CID:12109794182UID:12109794182VERSION:3.0END:VCARDBEGIN:VCARD长上面那样,FN是名字,pref后面的是手机号,CID=UID是个唯一码既然知道它长什么样,就不用那么复杂的去借助其他工具转换自己动手丰衣足食,直接读取号码,生成vcf文件代码如下 public s

2021-03-30 18:17:32 147 1

原创 java正则表达式文本处理,将N个换行替换成单个

/** * 多个换行改成一个 * @param content * @return */ public static String replaceMultipleLineFeedsWithOne(String content){ Pattern p1 = Pattern.compile("(\r?\n(\\s*\r?\n)+)"); Matcher m1 = p1.matcher(content); r...

2021-03-11 10:54:12 27

原创 国内版Clubhouse,「对话吧」APP,邀请码

近来Clubhouse火遍互联网,国内各大厂商也摩拳擦掌,“对话吧”率先抢跑,本着对新鲜事物充满好奇的想法,来体验一把。1.下载‘对话吧’官方应用商店下载即可。2.选择被邀请,邀请码填,蒋昌建,朱啸虎,奉佑生,马力,包凡,周亚辉,任意一个大佬人名即可...

2021-02-21 11:14:12 677

原创 java匹配文本中的电话号码,并将中间四位替换为*

java匹配一段文本中的电话号码,并将中间四位替换为*代码片段 public static final String REGEX_MOBILE = "(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}"; public static String regexMobile(String content){ Pattern p = Pattern.compile(REGEX_MOBILE

2021-01-21 15:02:20 208

原创 一文教你让腾讯、阿里、美团、拼多多的码农给你打工——如何选择中概互联网基金

最近经常有小伙伴问,阿里跌了这么多,可以买了吗?先说观点:当然可以买,而且可以长期买,长期持有!正文:由于前期的蚂蚁暂停上市和后面的反垄断调查,阿里陷入了舆论的旋涡,股价已经从高点回落30%+现在的阿里还可以买吗?作为一个优秀的韭菜,肯定知道鸡蛋不能放在同一个篮子里,其实阿里只是中国在海外(包括香港)上市的互联网企业的代表,问阿里能不能买其实约等于问中概股能不能买。先说观点:当然可以买,而且可以长期买,长期持有!周所周知,由于各种原因吧,中国体量最大、影响力最大、市值最高、增速最快的公司,

2021-01-01 17:19:38 1166 1

原创 linux快速重启java jar文件的shell命令

新建重启脚本,vi restart.sh,输入以下内容,按自己应用名修改部分#!/bin/bash# 默认应用名称defaultAppName='mobile-api.jar'appName=''if [[ $1 && $1 != 0 ]]then appName=$1else appName=$defaultAppNamefiecho ">>>>>>本次重启的应用: $appName <&lt

2020-12-16 11:09:53 403

原创 Unable to access jarfile ApacheJMeter.jar

玩一把压测工具,JMeter,下载source解压后Unable to access jarfile ApacheJMeter.jar之前下载的是源码,里面确实没有ApacheJMeter.jar改下载这个,Binaries的 apache-jmeter-5.3.zip sha512 pgp下载解压,打开jmeter.bat,这就很棒了...

2020-12-02 10:44:12 35

原创 synchronized实现两个线程交替运行

背景用两个线程交替输出A-Z和1-26,即一个线程输出A-Z,另一个线程输出1-26而且是交替形式线程1输出A——线程二输出1线程1输出B——线程二输出2线程1输出C——线程二输出3以此类推分析主要考察线程之间的通信,思路就是创建两个线程在一个线程输出一个内容之后,自己进入阻塞,去唤醒另一个线程另一个线程同样,输出一个内容之后,自己进入阻塞,去唤醒另一个线程代码实现(一)public class AlternateCover { public static void m

2020-10-26 15:07:27 103 2

原创 如何抄基金经理的作业?查看并参考优秀基金经理的历史持仓数据

如何抄基金经理的作业?其实起始这话不严谨,一般人抄不到基金经理的作业因为基金经理的持仓是人家的机密,吃饭的家伙,如果人人都知道,谁还去买他的基金呢?但我们可以参考优秀基金经理的选股策略,特别是那些业绩长期保持优秀的基金经理因为长期保持优秀的基金经理,他们的投资风格比较稳健,布局也偏长线作为一个合格的韭菜,应该知道基金的持仓会每个季度公布一次所以严格来说当我们看到基金持仓的那一瞬间,这个数据就已经是历史数据了在你看的这个点,没准他已经完成了调仓这个也可以解释为什么有时候蚂蚁财富的基金预计涨跌幅

2020-09-27 16:19:22 2039

原创 java中的“我”不是“我”,NaN特殊标识以及正无穷+负无穷应该等于多少?

上文:Java虚拟机规范.Java SE 8版中关于浮点类型的说明,Infinity和-Infinity给大家提到一个小的知识点,即浮点数的0,它有正负之分作为分母不会产生java.lang.ArithmeticException: / by zero,而是得到正负无穷大,至于为什么,这是IEEE 754标准定义的在《Java虚拟机规范.Java SE 8版》第二章第三节有如下描述那我就好奇了,你说正无穷+负无穷应该等于多少,会是零吗? public static void main(S

2020-09-26 11:38:58 106

原创 Java虚拟机规范.Java SE 8版中关于浮点类型的说明,Infinity和-Infinity

在我们的经验中除数是不可以为零的,否则java.lang.ArithmeticException: / by zero在等您但是浮点数可就不一定了在第二章2.3.2节《浮点类型、取值集合及浮点值》中有这样的表述代码验证一下 public static void main(String[] args) { float f1 = 1f; float f2 = 0.0f; float f3 = -0.0f; System.out.pri

2020-09-26 11:10:30 66

原创 关于java的switch接收字符串底层实现逻辑

看一段代码,这是一道试题,思考一下,结果是什么?为什么?package cn.com.suntree.utils.myself;public class SwitchTest { public static void main(String[] args) { String paramStr = null; switch (paramStr){ case "boy": break;

2020-09-24 18:24:35 148

原创 使用LinkedHashMap实现简单的LRU

LRU在很多缓存失效策略中会涉及,本质是一种节约更公平的节约资源策略,最近最少使用java中的LinkedHashMap就有自带的实现LRU简单说一下LinkedHashMap这种数据结构,本质是HashMap+双向链表,不仅有HashMap的特性,还能维护元素的顺序,示意图如下使用LinkedHashMap实现简单的LRUpackage cn.com.suntree.utils.myself;import java.util.LinkedHashMap;import java.util.M

2020-09-22 14:15:28 99

原创 说好的牛市来了,我的股票怎么跌停了?

讲个故事:有‭‮个一‬‬商人到了一个山村,‭‮子村‬‬周围的‭‮上山‬‬全是猴子。商人就和‭‮子村‬‬种地的农民说,我买猴子,‭‮001‬‬元一只。村民不知是真是假,试着抓猴子,‭‮人商‬‬果然给了100元。于是全村的人都去抓猴子,‭‮比这‬‬种地合算得多了。‭‮快很‬‬商人买了两千多只猴子,山上猴子很少了。‭‮人商‬‬这时又出价200元‭‮只一‬‬买猴子,村民见‭‮价猴‬‬翻番,便又纷纷去抓,商人又买了,但猴子已经‭‮难很‬‬抓到了。商人又出价300元‭‮只一‬‬买猴子,‭‮子猴‬‬几乎抓不到了。商人

2020-09-22 09:43:05 160

原创 探究java类的加载顺序

基类public class Father { private int i = testFather(); // 6 private static int f = method();// 1 static { System.out.println("父类静态代码块被加载");// 2 } private static int f2 = method2();// 3 Father(){ // 9 System.out.

2020-09-21 14:53:35 47

原创 阿里巴巴难度系数五颗星的试题,小白竟然说很简单

牛客网上有道阿里巴巴的面试题,网站显示该题难度系数五颗星代码如下:public class Base{ private String baseName = "base"; public Base(){ callName(); } public void callName(){ System. out. println(baseName); } static class Sub extends Base{

2020-09-19 16:09:20 109

原创 面试官问你HashMap为什么线程不安全,体现在哪?举个例子看看?

看过我HashMap系列教程的人都应该对HashMap的原理都有了比较深的理解深入源码分析HashMap到底是怎样将元素put进去的HashMap扩容后,元素是如何重新分布的”准备用HashMap存1w条数据,构造时传10000会触发扩容吗?“java的hashmap,如果确定只装载100个元素,new HashMap(?)多少是最佳的,why?读HashMap源码之tableSizeFor大家都知道HashMap是线程不安全的,可是为什么是不安全的呢?其实我们看一下源码就知道final V

2020-09-14 15:33:47 481 1

原创 List<? extends T>和List<? super T>之间的区别

定义几个基础类// 动物类,一个吃方法public static class Animal { public void eat() { System.out.println("Animal eat"); } }// 鸟继承自动物,一个飞方法public static class Birds extends Animal { public void fly() { System.out.prin

2020-09-12 16:04:43 1108

原创 HashMap扩容后,元素是如何重新分布的

上文回顾在上文深入源码分析HashMap到底是怎样将元素put进去的我们着重分析了无参构造函数是如何创建map对象和HashMap是如何将第一个元素put进table的。此篇重点这篇我们将逐行代码分析1、有参构造函数是如何创建map对象的2、当元素增多导致扩容之后,元素是如何重新分布的同样,为了方便读者复盘,我截取源码是尽量将行号带上。jdk版本还是1.8结构图再重复一遍,HashMap的底层数据结构为数组+链表+红黑树的结构,放一个HashMap的结构示意图,有个大致印象。解剖思路

2020-09-10 11:39:08 1143 3

原创 深入源码分析HashMap到底是怎样将元素put进去的

说明此次深入源码解剖是为了搞明白几个问题1、HashMap是如何初始化的2、HashMap的扩容机制是怎样的3、元素是put进HashMap的,具体位置在哪(重难点)4、扩容后,元素是如何重新分布的(重难点)注:为了方便读者复盘,我截取源码时会将源码行号也带上。jdk版本:1.8在深入源码之前,应该先有个大致的了解,在JDK8里面,HashMap的底层数据结构已经变为数组+链表+红黑树的结构HashMap结构示意图数组就是源码中的table链表就是内部类Node红黑树就是内部类

2020-09-09 12:00:18 588

原创 IDEA调试操作键说明

启动debug模式运行程序Step Over单步调试,一行一行方法执行Step Into进入方法细节,但只会进入自定义方法,不会进入系统级源码Force Step Into也是进入方法细节,可以进入系统级源码,调试源码经常就是用它进入Step Out跳出正在执行的方法,返回上一层的下一行Drop Frame这是在运行过程中会经常用到,运行到一半自己绕晕了,需要重新开始运行,用它返回上一个方法的起点,然后继续单步调试...

2020-09-09 10:23:01 116

原创 HashMap的resize()方法注释

/** * Initializes or doubles table size. If null, allocates in * accord with initial capacity target held in field threshold. * Otherwise, because we are using power-of-two expansion, the * elements from each bin must either stay at s.

2020-09-04 16:46:15 45

原创 ShiroConfig完整配置案例

package cn.com.suntree.treetask.config;import cn.com.suntree.common.ding.model.DingUserDo;import cn.com.suntree.common.entity.SysUser;import cn.com.suntree.common.entity.returnvo.PowerVo;import cn.com.suntree.common.entity.returnvo.RoleVo;import cn.

2020-09-04 09:33:55 230

原创 openJDK各个版本的源码下载,方便查看native修饰的方法

openJDK的代码在github上也有,但下载速度堪忧,提供另一个下载方案地址:http://hg.openjdk.java.net/找到相应的版本以jdk8u为例,点击再选择细分版本,比如选择jdk8u-dev的jdk直接点zip下载就好了...

2020-09-02 18:31:00 168

原创 StringBuffer.append(str)之OutOfMemoryError打破砂锅问到底

众所周知StringBuffer是安全的,而StringBuilder是不安全的,他们都有append方法,但具体实现细节你了解过吗?为什么有时候用着用着就OutOfMemoryError,在哪报的以StringBuffer.append(str)为例上图可见,线程安全是因为synchronized,正真的实现调用的是父类犯法super.append(str)父类核心方法ensureCapacityInternal确保容量足够,是怎么确保的呢?ensureCapacityInternal(in

2020-09-02 10:55:26 202

原创 PostgreSQL 12 中文文档

PostgreSQL 12是最新稳定版,目前最新bate版是13,英文文档:PostgreSQL 12最新稳定版本(12)中文文档:http://www.postgres.cn/docs/12/

2020-09-01 09:27:16 423

原创 工具类产品应该如何运营推广?

      我说的工具类产品指的是解决特定问题且大部分功能在PC端操作的工具,什么印象笔记、墨迹天气、车来了手机端的工具类不在其类。        其实桌面端,这一个场景就已经失去了很大的先手优势,现在是移动互联网的时代,用户的大部分时间在手机等终端上,用户已牢牢被微信、qq、抖音等自带社交属性的app吸引去了,这类津津乐道的传播方式就是“病毒”式自传播。       但工具类产品就不要奢望..

2020-08-31 18:56:16 569

原创 为什么在牛市入市,反而会亏钱?

有人说,牛市入市点位太高,所以牛市入市才会亏钱。其实熊市入市也是一样亏,原因不在于什么时候入市,而在于思路是投资还是炒股。有一位熊市入市的读者,他给我讲了他亏钱的故事。他是在2013年入市的,2013年是标准的熊市。他之所以入市,并不是因为他突发奇想,觉得熊市是买入股票的良机,而是因为他有一个同学在证券公司工作,每个月有开户任务。2013年时行情不佳,开户任务实在是完不成,所以就拉他开户,凑个数。“开了户之后,我觉得反正也开户了,不如顺便学学“炒股”吧。”于是乎,他在网上搜“炒股”,买了几本销量最

2020-08-15 15:00:15 136 1

原创 入市有风险,投资需谨慎

投资市场上摆了一堆堆黄色的东西,许多人上前准备淘金。大部分人上去伸手就抓,结果许多人抓了把软的,原来是一把稀屎。有人聪明些,先用棍子捅,捅不动才用手抓,于是避开了许多软屎。觉得就是黄金,开心的拿起来又用牙咬了下,碎了,原来屎干时间太长了,还是一口屎。更聪明的人用棍子捅,捅不动的挑出来,再拿石头砸,确实砸不碎,这次的确不是屎,于是高兴拿回家,天天用手抱用嘴亲,时间久了,长绿毛了……原来不是屎也不是黄金,而是黄铜……温馨提示:你所赚的每一分钱,都是你对这个世界认知的变现,你所亏的每一分钱,都是因为对

2020-08-02 11:46:46 205

原创 疫情肆虐下的潜在机会,新冠检测涉及主要机构/公司

7月31日,根据《国际卫生条例》的规定,世卫组织突发事件委员会再次召开会议,对新冠肺炎疫情进行评估,并更新疫情应对建议。据路透社等媒体报道,世卫组织总干事谭德塞在致辞中说,新冠肺炎疫情是百年一遇的健康危机,人们在接下来数十年的时间内都将感受到疫情的影响。世卫组织表示,对于新冠肺炎,科学家已经回答了很多疑问,但是仍然有很多未解难题。当前的研究一致显示,世界绝大多数人仍然易感,即便曾经遭受疫情严重打击的地区也不例外。世卫组织强调,虽然新冠疫苗研发正在以创纪录的速度进行,但是仍然要学会与病毒共存,必须充分利用

2020-08-02 10:58:03 91

原创 未来三到五年的风口!梳理新基建5G领域受益产业链

结合央媒解读, 5G基站建设、特高压、城际高铁和城市轨交,新能源充电桩、大数据中心、人工智能和工业互联网是新基建核心内容。计算机行业相关的 5 个领域包括:大数据中心、人工智能、工业互联网、5G 基站以及轨交信息化。考虑基建定义,此次产业链梳理中(除人工智能领域外)没有明显加入下游应用环节。另外,信息安全环节基本在全部新基建中也普遍受益。随着今年在新基建领域建设推进,后期应用和安全也将迎来全面发展的机会。中银国际证券就计算机5大领域用5张图列出产业链受益标的。1、大数据中心产业链企业:2、5G基站

2020-07-28 15:13:29 173

原创 阿里云 JAVA 应用脚手架,快速搭建springboot基础应用、分层架构应用、分布式应用

阿里云 JAVA 应用脚手架,快速搭建springboot基础应用、分层架构应用、分布式应用start.aliyun.com 是基于 Spring-initializr 实现的工程脚手架生成平台,开发者们只需要添加一些注解和少量配置,就可以快速搭建分布式应用系统,它使用更亲切的中文,也不会有网络延迟问题,最重要的是提供更多本地化的组件依赖。点击链接,立即体验阿里云 JAVA 应用脚手架:https://start.aliyun.com/?utm_content=g_1000150531基础应用分层

2020-07-10 14:00:35 512

原创 IDEA中查看基于maven构建的springboot的项目依赖关系

mvn dependency:tree > dependency.txt项目根目录:完整依赖关系:[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for cn.com.suntree.utils:suntree-utils:jar:0.0.1-SNAPSHOT[WARNING] 'dependenci

2020-06-05 09:53:57 615

原创 国内半导体发展现状——部分上市公司分类名单

上游半导体设备:1、刻蚀机:北方华创、中微公司2、光刻机:上微集团、华卓清科3、PVD:北方华创4、CVD:北方华创、中微公司、沈阳拓荆5、离子注入:中科信、万业企业6、炉管设备:北方华创、晶盛机电7、检测设备:精测电子、华峰测控、长川科技8、清洗机:北方华创、至纯科技、盛美半导体9、其他设备:芯源微、大族激光、锐科激光上游半导体材料:1、大硅片:沪硅产业、中环股份2、靶材:江丰电子、阿石创、隆华科技、有研新材3、高纯试剂:上海新阳、江化微、晶瑞股份、巨化股

2020-05-24 22:02:44 1222

原创 spring boot 的@Scheduled定时任务,同一时间段的定时任务只会执行一个,其余的会被阻塞等待

查看源码发现默认线程池中只有一个线程,只能挨个执行,解决方法线程池多加几个线程,启动项类中加入如下配置@Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.setPoolSize(50);// 自定义线程个数 return taskSchedu

2020-05-12 15:00:22 1654 1

原创 线程池笔记(一)

线程池类别Executors 下有五类线程池参数介绍:corePoolSize:核心线程数,核心线程会一直存活。maximumPoolSize:最大线程数,决定线程池最多可以创建多少线程。keepAliveTime:空闲时间,当线程闲置超过空闲时间时就会被销毁。uint:空闲时间的单位。workQueue:缓冲队列ArrayBlockingQueue:有界队列,有最大容量闲置。...

2020-05-07 16:36:46 111

原创 如果对象中的String类型字段值为字符串"" ,则转为null

如果对象中的String类型字段值为字符串"" ,则转为null/** * 如果对象中的String类型字段值为字符串"" ,则转为null * * @param obj */ public static Object blankSpaceToNull(Object obj) { Class cls = obj.getClass()...

2020-04-07 17:14:31 257

最新全国省市区县经纬度sql

最新全国省市区县经纬度sql,包含全国3400多个省、市、区、县的insert语句,建表直接导入即可

2019-03-08

cglib-2.1.95.jar

动态代理所需jar

2017-06-19

MyBatis一对多映射

MyBatis一对多映射实例,代码完整,可运行

2005-06-17

redis的部分可用windows版本.txt

下载并安装windows版本的Redis教程:https://blog.csdn.net/leisure_life/article/details/82078233

2020-09-24

https双向认证所需jar

https双向认证所需jar,包含bcpkix-jdk15on-1.51.jar、bcprov-jdk15on-1.51.jar、httpclient-4.4.1.jar、httpcore-4.4.1.jar等

2017-09-29

代码统计工具(SourceCounter)

SourceCounter 是一个代码统计工具,能完美支持几十种代码格式,可以统计代码的行数、大小、注释等,可以保存为CSV和HTML文件,另外软件还支持对软件开发的各个阶段的工数、成本进行分析和预测。

2018-06-15

ssh整合案例

SSH整合完整步骤、完整jar,包含xml注解两个版本

2017-04-19

json格式查看器

可以查看json格式的小工具,解压既可以,无需注册安装,工具好不好谁用谁知道! 方便快捷,简单粗暴还特么十分有效

2017-09-07

MyBatis入门程序

MyBatis入门程序,包含详细步骤与jar

2017-05-22

ehcache-core-2.6.11.jar

ehcache-core-2.6.11.jar

2017-05-27

JavaEE开发的颠覆者: Spring Boot实战PDF

《JavaEE开发的颠覆者: Spring Boot实战》PDF的下载地址,包含连接和密码,绝对完整!物超所值!

2017-10-13

MyBatis实例

MyBatis实例,包含jar文件,数据库;可直接运行

2017-05-23

mybatis逆向工程

mybatis逆向工程,拿去就能用

2017-05-27

spring-jar.zip

spring-jar.zip

2017-05-27

spring-mybatis扥整合实例含数据库

spring-mybatis整合实例包含数据库

2017-05-27

mybatis-jar

mybatis-jar

2017-05-27

浪丶荡的留言板

发表于 2020-01-02 最后回复 2020-01-02

Could not obtain transaction-synchronized Sess

发表于 2017-04-18 最后回复 2017-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除