- 博客(144)
- 资源 (25)
- 收藏
- 关注

原创 一个人脸上有太多太多微笑是因为心里有太多太多的泪水
当令你快乐的一切不能再令你快乐,当令你悲哀的一切不能再令你悲哀,甚至激怒你的一切不能再激怒你的时候,是不是很可怕?一位哲人曾说过:这就叫做苍老。 有些感情是指甲,剪掉了还会重生,无关痛痒。而有些感情是牙齿,失去以后永远有个疼痛的伤口无法弥补。 不见面不等于不思念,不联络只是为了掩饰眷恋。 有些人脸上太多的笑是因为他们心中有太多的泪。 人生有一个地方,有一个人,在这个人面
2009-10-08 21:34:00
2664
3
原创 最全的【DDD领域建模】小白学习手册(文末附资料)
在当时的环境下,单体应用仍然是市场的主体,但是大型复杂软件系统已经出现,给团队的设计和开发工作带来了比较大的挑战。DDD提供了一种新的设计思路,通过对于业务子域和限界上下文的划分,建立跨越业务和技术的统一语言,为业务建模的同时,拉通业务和技术实现。DDD理论的提出,对整个软件架构设计领域,尤其是对微服务架构的设计产生了巨大的影响。那我们如何运用DDD来解决所面临的大型业务系统问题呢?在这里我们以中台业务为例,进行实践和应用。友情提示:看目录,从整体中深入内部去看。
2023-08-16 16:41:27
395
原创 为什么 HashMap 的加载因子是0.75?数学的运用!
有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?本文主要对以下内容进行介绍: 为什么HashMap需要加载因子? 解决冲突有什么方法? 为什么加载因子一定是0.75?而不是0.8,0.6? 为什么HashMap需要加载因子?HashMap的底层是哈希表,是存储键值对的结构类型,它需要通过一定的计算才可以确定数据在哈希表中的存储位置:staticfi.
2020-11-10 17:55:11
549
1
原创 排名前 16 的 Java 工具类,养眼的整理出来了!
在Java中,实用程序类是定义一组执行通用功能的方法的类。这篇文章展示了最常用的Java实用工具类及其最常用的方法。类列表及其方法列表均按受欢迎程度排序。数据基于从GitHub随机选择的50,000个开源Java项目。希望您可以通过浏览列表来了解已经提供和流行的功能的一些想法,以使您知道不需要自己实现。这些方法的名称通常指示它们的作用。如果方法名称不够直观,您还可以查看其他开发人员如何在其开源项目中使用它们。 org.apache.commons.io.IOUtils closeQuie
2020-11-10 17:40:37
441
转载 Class.forName 和 ClassLoader 到底有啥区别?
前言最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。解释在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也是调用的ClassLoa
2020-11-10 17:35:08
287
转载 Java 性能调优 8 步走,让调优不再困难!
前言Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多,比如磁盘、内存、网络 I/O 等系统因素,Java 应用代码,JVM GC,数据库,缓存等。笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层、数据库层、框架层、JVM 层,如图 1 所示。图 1.Java
2020-11-10 17:31:08
495
原创 在MySQL中重复的插入数据怎么办,骚操作!不要再写那么多代码了!
最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下:这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,address这4个字段,其中主键为id(自增),同时对username字段设置了唯一索引:01 insert ignore into即插入数据时,如果数据存在,则忽略此次插入,前提条件是插入的数据字段设置了主键或
2020-11-10 17:27:57
5494
转载 Java反射会影响性能吗?到底慢在哪???
反射真的存在性能问题吗?还是使用上篇文章的demo,为了放大问题,找到共性,采用逐渐扩大测试次数、每次测试多次取平均值的方式,针对同一个方法分别就直接调用该方法、反射调用该方法、直接调用该方法对应的实例、反射调用该方法对应的实例分别从1-1000000,每隔一个数量级测试一次:测试代码如下(Person、ICompany、ProgramMonkey这三个类已在之前的文章中贴出):publicclassReflectionPerformanceActivityextendsActi...
2020-11-10 17:22:40
5382
1
转载 几个IDEA的Sao技巧,效率提升了10倍,网友:没有灵魂!
今天,在网上看到一篇关于作者介绍IDEA技巧的文章,有网友吐槽说,用IDEA写代码没有灵魂!我当场懵逼了~IDEA提供了这么多快捷的方式不用,那还用这种高级编辑器干嘛,干脆用记事本,不就显得更牛逼~作为一位IDEA的死忠粉,我也经常用IDEA的骚技巧~这里,我给各位同学分享一下,我经常用的几个技巧,但不限于这些。1、几个快捷键每次当你打开IDEA的时候,便会给你展现一个欢迎界面,会有4个快捷键,见版本号:2020.2Alt+...
2020-09-29 11:38:39
206
转载 Elasticsearch 是做什么的以及它的使用和基本原理
生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种: 结构化数据 非结构化数据 结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:又可称为全文数据,不定长或无固定格式,不适于由数据库二维表来表现,包括所有格式的办公文档、XML、HTML、Word 文档,邮件,各类报表、...
2020-09-29 11:34:31
1968
转载 Java 压缩20M文件从30秒到1秒的优化过程
有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。 public static void zipFileNoBuffer() {File zipFile = new File(ZIP_FILE);try..
2020-09-29 11:30:56
806
转载 面试命中率90%的点 —— MySQL锁
一、对MySQL的锁的了解当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。二、隔离级别与锁的关系在Read Uncommitted级别下,读取数据不需要加共享锁,这样就不会跟被修改的数据上的排他锁冲突在Read Committed级...
2020-09-29 11:14:47
1033
转载 你的Redis为什么变慢了?常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头雾水。很多时候,Redis出现访问延迟变大,都与我们的使用不当或运维不合理导致的。这篇文章我们就来分析一下Redis在使用过程中,经常会遇到的延迟问题以及如何定位和分析。使用复杂度高的命令如果在使用Redis时,发现访问延迟突然增大,如何进行排查?首先,第一步,建议你去查看一下Redis
2020-09-29 11:12:57
1275
转载 为什么 Java 的 main 方法必须是 public static void?
Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public、static、void 的。当然,很多人首先学的是 C 和 C++,但是在 Java 中 main 方法与前者有些细微的不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案。Main 方法是 Java 程序的入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理的 java 程序,在 java 核心
2020-09-29 11:07:05
180
转载 震惊了~某程序员竟然在深夜偷偷在代码里下毒!
目录 一、前言 二、代码有毒! 1. 方法命名 2. 最佳排序 3. 有点烧脑 4. 迷之求和 5. 花里胡哨 6. 数字判断 7. 代码健壮 8. 性能优化 9. 无用日志 10. 耗时遍历 三、总结 一、前言学过的代码记不住?方式不对才记不住,你这么记! Git:上厕所不叫上厕所,叫拉分支! S.
2020-09-29 11:04:44
399
转载 Java序列化和反序列化为什么要实现Serializable接口?
最近公司的在做服务化, 需要把所有 model 包里的类都实现 Serializable 接口, 同时还要显示指定 serialVersionUID 的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说: 序列化和反序列化是什么? 实现序列化和反序列化为什么要实现 Serializable 接口? 实现 Serializable 接口就算了, 为什么还要显示指定 serialVersionUID 的值? 我要为 serialVersionUID 指定个什么值?
2020-09-28 18:38:48
149
转载 InnoDB中一棵B+树可以存放多少行数据?
InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最小单元是块,一个块的大小是4k,而对于我们的InnoDB存储引擎也有自己的最小储存单元——页(Page),一个页的大.
2020-09-28 18:33:26
471
原创 运维之美-设置服务别名 ssh命令快速启动 macbook
经常要用ssh登录远程服务器,每次都输入用户名和密码比较麻烦。可以设置一下ssh服务器别名。免秘钥公司用的动态口令,免不了。 需要的自行百度我们可以使用 SSH 默认配置文件来创建 SSH 别名。为此,编辑 ~/.ssh/config 文件(如果此文件不存在,只需创建一个):$ vi ~/.ssh/config添加所有远程主机的详细信息,如下所示:Host m6 HostName a.XXXXXXX.com Port 22 User sunny123--这里换成你自己的用户名Hos
2020-05-27 15:45:31
392
原创 使用esotericsoftware高速缓存(ASM)的BeanUtils.copyProperties!高性能!
一、事出有因项目中使用BeanUtils.copyProperties但是其性能又不是很满意,而且阿里发布了阿里巴巴代码规约插件指明了在Apache BeanUtils.copyProperties()方法后面打了个大大的红叉,提示"避免使用Apache的BeanUtils进行属性的copy"。心里确实不是滋味,从小老师就教导我们,"凡是Apache写的框架都是好框架",怎么可能会存在"性能问题"--还是这种猿们所不能容忍的问题。心存着对BeanUtils的怀疑开始了今天的研究之路。二、市面上的
2020-05-14 17:18:34
6035
转载 日志被Intellij IDEA 控制台给“吃”了
最近,有同学在群里说,他的IDEA控制台打印的日志超过一定的大小,就会被IDEA 给“吃”掉。这里,统一给大家答疑一下,其实IDEA为了节约资源,对在控制台的日志进行了限制,默认缓冲区的输出日志大小是1024kb,超出这个限制就会被清除,而且还会显示「too much output to process」,其实这个配置我们是可以做修改的。通过Console配置修改来修改,点击 File ->Settings ->editor - >General->Console..
2020-05-14 09:58:26
6927
转载 idea下设置springBoot项目热部署(热加载)
近来在使用idea做springboot的项目,但是发现每次修改之后我都需要重新将项目关闭再开启,这样比较繁琐,发现通过热部署的方式让我们可以一边修改我们的项目,然后在页面中直接通过刷新展示出来spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。devtools的原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方J
2020-05-13 14:38:03
6078
2
转载 Mac OSX 正確地同時安裝 Python 2.7 和 Python3
Python3 出來了(其實已經出來很久了,暈)!但是還是有很多 library 還是使用 Python2.7,所以要怎麼在 Mac 裡面同時裝這兩個版本,並且和系統所使用的 Python 區分開來呢?今天要寫的是如何第一次就正確安裝好,並且切換預設版本,不在誤用系統的 Python。主要就這幾個步驟而已,不會太困難的(或許有些你本來就裝好了)Step 1 安裝 Xcode Step 2 安裝套件管理工具 Homebrew Step 3 安裝 Python Step 4 設定路徑 $PATH
2020-05-12 14:11:16
267
转载 Mac下用brew安装nginx
1. nginxnginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server.从niginx基本介绍上看到Other HTTP server features中有一项:FLV and MP4 streaming;可知nginx也支持流媒体.2. brewbrew又叫Homebrew,是Mac中的一款软件包管理工具,通过b
2020-05-11 16:39:18
530
转载 Mac OS X下Maven的安装与配置
Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后保存并退出Vi: export M2_HOME=/Users/robbie/apache-maven-3.3.3 export PATH=$PATH:$M2_HOME/bin bash_pr
2020-05-11 16:37:16
246
原创 iTerm 2 && Oh My Zsh【DIY教程—亲身体验过程】完美替代教程汇总!
一年前,在搞终端的时候偶然一次机会,让我看到了各种强大的DIY界面,这让我很想去自己搞一个。于是在网上不断的寻找资源,也请教了大多数朋友。最终以失败告终。最近,本人又突然想起当时这件事,于是,决定边做笔记,边尝试当初失败的过程。经过一个晚上的时间,终于DIY出我梦寐以求的效果。先放上最终DIY效果图:DIY效果图下面,我将分步骤讲解我是怎么一步一步完成DIY过程1. 首先下载 iTerm 22. 打开iTerm 23. 输入下面指令安装oh-my-zshcurl -L htt
2020-05-09 17:46:00
2460
原创 mac 下安装 nginx 及配置
# brew安装nginx# 安装nginx# 可以用brew很方便地安装nginx.sudo brew install nginx# 启动nginx服务sudo brew services start nginx# 利用http://localhost:8080进行访问, 如果出现如下界面,说明启动成功.### mac 自带的 apache是自启动的,而且是不允许删除 apache 的,所以我们只能采取以下办法解决:关闭apache随系统启动> sudo launchctl u
2020-05-09 16:47:00
4024
1
原创 nginx 的mac的配置参数说明-非常详细!
mac下nginx的配置文件在:/usr/local/etc/nginx/nginx.conf#定义Nginx运行的用户和用户组,来指定Nginx Worker进程运行用户以及用户组,默认由nobody账号运行user nobody;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 4;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ],其中debug输出日志最为最详细,而crit输出日志
2020-05-09 16:40:23
1808
转载 Freemarker 语法入门
首先,先建议查看此文档FreeMarker在线手册FTL指令常用标签及语法注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析。freemaker注释:<#-- 注释内容 -->格式部分,不会输出?? 判断左侧的变量是否丢失,相当于java中的null的判断,或者这个变量是否未定义。?has_content 非常像??,但是它同时也会对空字符串或空list或空map进行判断。! 用来给变量一个默认值,例如color!”no color”
2020-05-09 16:13:27
685
原创 Iterm2 使用技巧 快捷键(mac os)
快捷命令窗口:shift+空格额外附上一计:隐藏iTerm Dock 图标让我们的终端变得更 Cool,让它来无影去无踪。这一步我要 iTerm 启动后不再出现在 Dock 上,打开终端输入下面的命令,然后重启 iTerm。/usr/libexec/PlistBuddy -c "Add :LSUIElement bool true" /Applications/iTerm.app/Contents/Info.plist这个方法是...
2020-05-09 10:50:02
750
转载 SublimeText3 常用快捷键!for mac 清晰明了!
符号说明 符号 说明 ⌘ command ⌃ control ⌥ option ⇧ shift ↩ enter ⌫ delete 打开/关闭/前往 快捷键 功能
2020-05-09 10:45:47
319
原创 Mac升级10.15 Catalina,根目录无权限 完美解决办法!
方法一:1、进入安全模式 重启按command+R2、使用命令关闭sip进入命令控制台:csrutil disable3、重新启动电脑4、命令台:csrutil status 查看sip状态5、sudo mount -uw /6、killall Finder7、sudo mkdir -p /export/Logs8、cd /export/9、sudo -s10、sudo chown -R huangxuebin /export/方法二: 推荐...
2020-05-09 10:44:09
17753
6
原创 Rainbow Brackets 彩色括号 兼容Solarized Themes日晒主题的配色方案
IDEA同时安装Rainbow Brackets(括号彩色插件)和Material Theme UI(主题插件)后导致,括号彩色不起作用。可以手动配置。如图,依次将颜色修改为以下配色最佳颜色配置方案1Color #1:E6B422Color #2:43A047Color #3:2196F3Color #4:3F51B5Color #5:00897B方案2(稍微亮一些的 配色)Color #1:E8B622Color #2:59DD5DColor #3.
2020-05-09 10:41:54
3666
原创 idea 插件的使用 进阶篇--更新!姊妹篇
这里不再赘述插件如何安装了哈!不知道的可以百度,也可以看我的上一篇进阶篇。我的背景图 可以到我的资源里去下载,,,喜欢的可以下载这里补充一下常用的插件, 非常推荐!1、日晒主题 SolarizedThemes by 4lex4 的推荐指数:☆☆☆☆☆推荐理由:日晒主题本身是为vim定制的。后来移植到ide 非常酷! 配色非常耐看。 最近更新 不等号显示,注释不可编辑背景图可是另外的插件设置的哈Background Image Plus + byHNUH...
2020-05-09 10:25:28
4063
原创 Mac 相见恨晚的神器-小众-用了就丢不掉的 软件
同类的软件我们只安装一个就够了!每个种类软件只选一个,是我使用了5年mac过程中,反复对比;从同类中选出的我认为最好的一款。选取软件的标准:好看!和mac切合度高最贴近原生!功能丰富满足所有日常!软件小巧不臃肿!软件性能高!有些软件收费??? 别怕!桃花源:https://www.macwk.com/简书:https://www.jianshu.com/p/171f83f2aaef1、日历tinycal 中文名:小历推荐理由:代替原生美观、有节假日显示、有农历2、日程同步...
2020-05-08 19:10:27
1767
转载 前端web页面防截屏水印生成方案(网页水印+图片水印)
前端水印生成方案 前段时间做某系统审核后台,出现了审核人员截图把内容外部扭曲的情况,虽然截图内容不是特别敏感,但是安全问题还是不能忽略。于是便在系统页面上面加上了水印,对于审核人员截图等敏感操作有一定的提示作用。网页水印生成解决方案通过canvas生成水印画布兼容性这里我们用canvas来生成base64图片,通过CanIUse网站查询兼容性,如果在移动端以及一些管理系统...
2019-10-09 14:39:10
21446
1
转载 JavaScript判断浏览器类型及版本(整理)
你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小看他。以后,咱们常说浏览器的“四大才子”就得改称为“五朵金花”了。 在网站前端开发中,浏览器
2016-10-13 21:01:04
9219
1
转载 java中map 9种常规用法
通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的。下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题。0、将Map转换为List类型在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set.。它们都可以通过构造方法或者addAll()方法来转换为List类型。下面代码就说
2016-10-13 14:33:03
27282
转载 jvm垃圾回收是什么时候触发的? 垃圾回收算法? 都有哪些垃圾回收器
1.1。那究竟GC为我们做了什么操作呢? 1 ,哪些内存需要回收? 2 ,什么时候回收? 3 ,如何回收? 这时候有人就会疑惑了,既然GC 已经为我们解决了这个矛盾,我们还需要学习GC 么?当然当然是肯定的,那究竟什么时候我们还需要用到的呢? 1 ,排查内存溢出 2 ,排查内存泄漏 3 ,性能调优,排查并发瓶颈 1.1.1。JVM怎么判断对象可以回收了?我们知...
2016-10-12 14:50:24
30936
12
原创 Jvm堆内存的划分结构和优化,垃圾回收详解(详细解答篇)
jvm的结构 设置 疑问点 垃圾回收原理 方式, 触发条件。 设置等等的相关纤细介绍
2016-10-12 14:30:03
12961
1
java面试常见基础(深层次,高级研发)
2016-10-12
Python3 简明教程(中文版)带源码
2014-07-24
spring 结合 Redis 例子,简单入门例子
2014-06-25
sqlyog 10.4.2 官方版,付:注册码
2013-01-05
java 读取excel文件97-2007等格式
2012-03-18
Intellij 11.0.2 svn1.7插件
2012-03-18
最新myeclipse10 高权限注册机
2011-11-11
适合subversion server 1.7.0 的eclipse&myeclipse插件
2011-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人