7 jieniyimiao

尚未进行身份认证

我要认证

真的英雄,在于,以脆弱的凡人之躯,而具有神性的不可战胜。

等级
TA的排名 1k+

宋氏极简美学的编码风格

宋朝人的美学,叫极简宋朝的美学语言,叫极简。老子曾言:“万物之始,大道至简。”极简,是一种哲学态度,更是一种美学语言宋人的极简,是简单宋人喜欢自然朴素的美,不喜欢大肆雕琢,瓷器多以釉色、器形取胜。宋人的极简,是含蓄南宋画家马远,又被称为“马一角”。最著名的当属这幅《寒江独钓图》。一叶扁舟,渔翁一人,四周一片空白。可是,从渔翁微倾的身体,稍弯的鱼竿,翘起的船尾,仿佛望得见浩浩渺渺的江水,能感受到他一望无际的孤独。空白之处,并非无一物,而是蕴含着深邃的孤独,辽远的时空。中国的山水

2020-08-23 12:35:15

使用apache common-io 监控文件变化.md

package com.sino.daily.code_2020_3_11;import org.apache.commons.io.filefilter.FileFilterUtils;import org.apache.commons.io.monitor.FileAlterationListener;import org.apache.commons.io.monitor.FileAlterationMonitor;import org.apache.commons.io.monitor.F

2020-08-01 22:41:43

java的动态代理机制.md

1.楔子在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。2.简介在java的动态代理机制中,有两个重要的类或接口,一个是InvocationHandler(Interface)、另一个则是Proxy(Cla

2020-08-01 22:04:57

beetle-j2ee-application-framework框架介绍.md

1.楔子甲壳虫,一个功能强大而简单易用的J2EE应用开发框架。它涵盖了J2EE体系结构的表示层、业务层和持久层,为构建一个可靠、高性能、可扩展、灵活缩放的高质量企业应用系统提供了一套理想的解决方案。BJAF(beetle-j2ee-application-framework)是一个在2008年开源的J2EE框架,类似于现在的Spring,只不过没有流行起来而已,具备了企业级开发的大部分特性,框架写的比较简单、非常适合学习使用。2.首页&文档&源码https://code.google

2020-08-01 21:07:40

zookeeper 清理snapshot及事务日志.md

1.楔子zookeeper在运行过程中,不断地生成snapshot文件和事务日志,但是不会自动清理它们,需要管理员来处理。2.zk日志介绍dataDir=/datab //快照日志dataLogDir=/datalog //事务日志dataLogDir如果没提供的话使用的则是dataDir。默认情况下,ZK的数据文件和事务日志是保存在同一个目录中,建议是将事务日志存储到单独的磁盘上。zookeeper的持久化都存储在这两个目录里。snapshot文件dataDir里放的是内存数据结构的s

2020-07-15 22:27:19

DDD(Domain-Driven Design)领域驱动架构介绍.md

1. 什么是领域模型在理解领域模型之前,我们先思考一下软件开发的本质是什么。从本质上来说,软件开发过程就是问题空间到解决方案空间的一个映射转化,如图1所示。在问题空间中,我们主要是找出某个业务面临的挑战及其相关需求场景用例分析;而在解决方案空间中,则通过具体的技术工具手段来进行设计实现。就软件系统来说,“问题空间”就是系统要解决的“领域问题”。因此,也可以简单理解为一个领域就对应一个问题空间,是一个特定范围边界内的业务需求的总和。“领域模型”就是“解决方案空间”,是针对特定领域里的关键事物及其关系

2020-07-04 13:11:21

什么是DFX测试.md

楔子以大家都熟知的手机为例:我们每个人都用过不止一款手机,普通品牌与国际顶级品牌相比,功能基本上差不多,但使用中总是感觉有些差距,其中关键的因素就是DFX:可靠性、性能、易用性、客户体验等,这些因素往往决定了产品的竞争力。DFX工作目标是提升产品综合竞争力。 功能容易复制,但产品竞争力的关键往往是DFX什么是DFXDFX=“Design for X”,表示面向产品非功能性属性的设计。其中“X”代表产品生命周期或其中某一环节,如供应、安装、维护等,也可以代表产品竞争力或决定产品竞争力的因素,如可靠性、

2020-07-04 10:05:46

使用Gradle Application Plugin插件自动生成可执行.sh和.bat启动脚本

1. 楔子你还在使用手写的方式进行Java应用程序的打包吗?你还在使用手写shell和bat脚本的方式为JAVA应用程序写启动脚本吗?这些通用的、套路性质的、重复性质的工作早已在gradle Application Plugin插件实现了,快来试试这个利器吧。本文将演示两个常用的功能:打包,tar或者zip包自动生成启动脚本1. 自动生成启动脚本1.1 Demo下载可以从GItHub上下载Demogradle Application Plugin插件的官方地址为Application P

2020-06-25 15:02:39

Linux性能分析工具.md

PerfPerf是内置于Linux内核源码树中的性能剖析(profiling)工具。其基于事件采样原理,以性能事件为基础,常用于性能瓶颈的查找与热点代码的定位。Gprofgprof用于监控程序中每个方法的执行时间和被调用次数,方便找出程序中最耗时的函数。在程序正常退出后,会生成gmon.out文件,解析这个文件,可以生成一个可视化的报告.Valgrindvalgrind不是linux的原生工具,需要自行安装。valgrind自身包含了多个工具:Memcheck:用于内存泄漏检查检查程序中的内

2020-06-25 12:19:49

Java程序中获取当前进程的进程ID.md

从JDK1.5之后,Java开始提供包:java.lang.managementjava.lang.management提供了一系列的用来在运行时管理和监督JVM和OS的管理接口。采用ManagementFactory获取pid的程序代码如下:package com.sino.daily.code_2020_3_11;import java.lang.management.ManagementFactory;/** * create by 2020-06-25 11:42 * * @au

2020-06-25 11:59:20

Linux中的特殊权限s、t、i、a.md

楔子linux除了UGO权限外,还有特殊权限s、t、i、a四个特殊权限,这里简单介绍下这四个权限的功能。umask利用umask查看系统的权限为四位(0002),首位就是特殊权限位,SetUID为4,SetGID为2,t为1,0就表示没有特殊权限s权限SetUID权限解读(针对所属主设置s权限,数字表示为4)SetUID:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。前提是这个文件是可执行文件,可就是具有x权限(属组必须先设置相应的x权限)。chmod

2020-06-25 08:36:10

UML类图总结.md

类图之间关系系的强弱顺序泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

2020-05-31 17:55:13

Java File 类的 getPath()、getAbsolutePath()、getCanonicalPath() 的区别

楔子考虑一下几种路径:C:\temp\file.txt- 绝对路径,也是规范路径.\file.txt- 相对路径C:\temp\myapp\bin\..\..\file.txt这是一个绝对路径,但不是规范路径关于什么是规范路径? 粗略的认为规范路径就是不包含相对路径如..\或者.\的绝对路径实例说明package com.sino.daily.code_2020_3_11;import java.io.File;/** * create by 2020-05-31 08:46 *

2020-05-31 09:02:53

如何优雅地停止一个线程?.md

楔子线程终止有两种情况:1、线程的任务执行完成2、线程在执行任务过程中发生异常这两者属于线程自行终止,如何让线程 A 把线程 B 终止呢?Java 中 Thread类有一个stop()方法,可以终止线程,不过这个方法会让线程直接终止,在执行的任务立即终止,未执行的任务无法反馈,所以 stop()方法已经不建议使用。既然 stop()方法如此粗暴,不建议使用,我们如何优雅地结束线...

2020-05-07 20:25:07

java RSA数据分段加密解密实现.md

java RSA加密解密实现该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar注意:RSA加密明文最大长度117字节(经实际测试最大为350),解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异常:Exception in thread "main" j...

2020-05-06 22:46:52

haproxy介绍

1.简介HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速。最关键的是,HAProxy具备媲美商用负载均衡器...

2020-05-06 22:44:41

Linux自带的logrotate程序来解决catalina.out的日志轮转问题.md

1.首先编辑logrotate.conf文件,打开compress选项(去掉注释)[root@localhost ~]# cat /etc/logrotate.conf | grep -v "^$"| grep -v "#"weeklyrotate 4createcompressinclude /etc/logrotate.d2.添加指定文件,在/etc/logrotate...

2020-01-07 10:19:43

JAVA-IO流体系

JAVA-IO流体系在IO中,具体构件角色是节点流,装饰角色是过滤流。1、继承自InputStream/OutputStream的流都是用于向程序中输入/输出数据,且数据的单位都是字节(byte=8bit),如图,深色的为节点流,浅色的为过滤流。2、继承自Reader/Writer的流都是用于向程序中输入/输出数据,且数据的单位都是字符(2byte=16bit),如图,深色的为节点流,浅色...

2020-05-06 22:24:37

常见的Web攻击.md

1.ZIP炸弹zip炸弹就是一个高压缩比的zip文件,它本身可能只有几M或几十M的大小,但是解压缩之后会产生巨大的数据量,会解压到几十G的大小甚至更大,这种zip文件会对解压缩的系统造成严重的资源负担,影响目标系统业务甚至达到使系统崩溃的结果。防范校验,步骤如下:第一步,校验ZIP压缩包大小。第二步,校验ZIP压缩包解压后的大小。参考文档:zip炸弹和跨目录zip文件的构造2.zi...

2020-05-06 21:52:16

Java中的WeakHashMap

楔子WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,所以比较适合做缓存。WeakHashMap的这种特性比较适合实现类似本地、堆内缓存的存储机制——缓存的失效依赖于GC收集器的行为WeakHashMap的定义如下:public class WeakHashMap<K,V> extends Abstract...

2020-04-28 23:06:30

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享精英
    分享精英
    成功上传11个资源即可获取