- 博客(509)
- 资源 (18)
- 收藏
- 关注

原创 个人优秀博客收藏
1.浅谈算法和数据结构系列博客:主要介绍最主要的排序,查找算法,以及数据结构。主要涉及编程语言、数据库、框架、web、Linux等!
2015-08-03 18:28:33
2727
5
原创 字节跳动笔试题
1.题目一package com.sino.daily.code_2021_8_21;/** * create by 2021-08-21 12:42 * * @author caogu */import java.util.*;public class Example { public static void main(String[] args) { List<Long> longArrayList = new ArrayList<>(
2021-08-21 12:47:58
568
原创 Kafak相关资料汇总.md
1. 大数据入门指南包含了常用大数据框架的入门指南,非常的简单明了,非常适合入门,强烈推介。关于Kafka的入门也是非常的简单易懂。2. Kafka 入门系列Kafka 系列(一)—— Kafka 简介Kafka 系列(二)—— 基于 ZooKeeper 搭建 Kafka 高可用集群Kafka 系列(三)—— Kafka 生产者详解Kafka 系列(四)—— Kafka 消费者详解Kafka 系列(五)—— 深入理解 Kafka 副本机制3.译:使用新的Kafka消费者客户端主要介绍
2020-11-15 10:39:39
573
原创 宋氏极简美学的编码风格
宋朝人的美学,叫极简宋朝的美学语言,叫极简。老子曾言:“万物之始,大道至简。”极简,是一种哲学态度,更是一种美学语言宋人的极简,是简单宋人喜欢自然朴素的美,不喜欢大肆雕琢,瓷器多以釉色、器形取胜。宋人的极简,是含蓄南宋画家马远,又被称为“马一角”。最著名的当属这幅《寒江独钓图》。一叶扁舟,渔翁一人,四周一片空白。可是,从渔翁微倾的身体,稍弯的鱼竿,翘起的船尾,仿佛望得见浩浩渺渺的江水,能感受到他一望无际的孤独。空白之处,并非无一物,而是蕴含着深邃的孤独,辽远的时空。中国的山水
2020-08-23 12:35:15
2519
1
原创 使用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
1371
原创 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
420
原创 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
997
原创 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
3308
原创 DDD(Domain-Driven Design)领域驱动架构介绍.md
1. 什么是领域模型在理解领域模型之前,我们先思考一下软件开发的本质是什么。从本质上来说,软件开发过程就是问题空间到解决方案空间的一个映射转化,如图1所示。在问题空间中,我们主要是找出某个业务面临的挑战及其相关需求场景用例分析;而在解决方案空间中,则通过具体的技术工具手段来进行设计实现。就软件系统来说,“问题空间”就是系统要解决的“领域问题”。因此,也可以简单理解为一个领域就对应一个问题空间,是一个特定范围边界内的业务需求的总和。“领域模型”就是“解决方案空间”,是针对特定领域里的关键事物及其关系
2020-07-04 13:11:21
6834
1
原创 什么是DFX测试.md
楔子以大家都熟知的手机为例:我们每个人都用过不止一款手机,普通品牌与国际顶级品牌相比,功能基本上差不多,但使用中总是感觉有些差距,其中关键的因素就是DFX:可靠性、性能、易用性、客户体验等,这些因素往往决定了产品的竞争力。DFX工作目标是提升产品综合竞争力。 功能容易复制,但产品竞争力的关键往往是DFX什么是DFXDFX=“Design for X”,表示面向产品非功能性属性的设计。其中“X”代表产品生命周期或其中某一环节,如供应、安装、维护等,也可以代表产品竞争力或决定产品竞争力的因素,如可靠性、
2020-07-04 10:05:46
21738
1
原创 使用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
5014
1
原创 Linux性能分析工具.md
PerfPerf是内置于Linux内核源码树中的性能剖析(profiling)工具。其基于事件采样原理,以性能事件为基础,常用于性能瓶颈的查找与热点代码的定位。Gprofgprof用于监控程序中每个方法的执行时间和被调用次数,方便找出程序中最耗时的函数。在程序正常退出后,会生成gmon.out文件,解析这个文件,可以生成一个可视化的报告.Valgrindvalgrind不是linux的原生工具,需要自行安装。valgrind自身包含了多个工具:Memcheck:用于内存泄漏检查检查程序中的内
2020-06-25 12:19:49
520
原创 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
973
原创 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
959
原创 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
799
原创 如何优雅地停止一个线程?.md
楔子线程终止有两种情况:1、线程的任务执行完成2、线程在执行任务过程中发生异常这两者属于线程自行终止,如何让线程 A 把线程 B 终止呢?Java 中 Thread类有一个stop()方法,可以终止线程,不过这个方法会让线程直接终止,在执行的任务立即终止,未执行的任务无法反馈,所以 stop()方法已经不建议使用。既然 stop()方法如此粗暴,不建议使用,我们如何优雅地结束线...
2020-05-07 20:25:07
461
原创 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
1032
原创 haproxy介绍
1.简介HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速。最关键的是,HAProxy具备媲美商用负载均衡器...
2020-05-06 22:44:41
1343
原创 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-05-06 22:41:22
991
原创 JAVA-IO流体系
JAVA-IO流体系在IO中,具体构件角色是节点流,装饰角色是过滤流。1、继承自InputStream/OutputStream的流都是用于向程序中输入/输出数据,且数据的单位都是字节(byte=8bit),如图,深色的为节点流,浅色的为过滤流。2、继承自Reader/Writer的流都是用于向程序中输入/输出数据,且数据的单位都是字符(2byte=16bit),如图,深色的为节点流,浅色...
2020-05-06 22:24:37
417
原创 常见的Web攻击.md
1.ZIP炸弹zip炸弹就是一个高压缩比的zip文件,它本身可能只有几M或几十M的大小,但是解压缩之后会产生巨大的数据量,会解压到几十G的大小甚至更大,这种zip文件会对解压缩的系统造成严重的资源负担,影响目标系统业务甚至达到使系统崩溃的结果。防范校验,步骤如下:第一步,校验ZIP压缩包大小。第二步,校验ZIP压缩包解压后的大小。参考文档:zip炸弹和跨目录zip文件的构造2.zi...
2020-05-06 21:52:16
3288
1
原创 Java中的WeakHashMap
楔子WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,所以比较适合做缓存。WeakHashMap的这种特性比较适合实现类似本地、堆内缓存的存储机制——缓存的失效依赖于GC收集器的行为WeakHashMap的定义如下:public class WeakHashMap<K,V> extends Abstract...
2020-04-28 23:06:30
7896
6
原创 JAVA如何优雅的重试?@Retryable(spring的重试机制)
楔子在应用程序中,由于一些网络等不可预知的问题,我们的程序或者接口会失败,比如调用一个第三方的接口获取数据失败了,这时就需要重试机制,比如延时3S后重试、间隔不断增加重试等,而这些机制完全不需要你自己去实现,全部交给Spring Retry吧。使用1.在pom文件中添加相应的依赖<dependency> <groupId>org.springframewor...
2020-04-25 11:33:36
22673
3
原创 ant CreateProcess error=206, 文件名或扩展名太长
如果您已经创建了自己的构建文件而不是使用项目 - >生成Javadocs ,那么您可以将 useexternalfile =“是”添加到Javadoc任务,该任务专门用于解决此问题。 <javadoc destdir="${jdiff.build.dir}" excludepackagenames="org.apache.jute" ...
2020-03-31 11:47:55
2655
原创 Apache Traffic Server 简介
1. 介绍Apache Traffic Server(ATS或TS)是一个高性能的、模块化的 HTTP 代理和缓存服务器。与 Nginx 和 Squid 类似。它通过将频繁访问的信息缓存在网络的边缘来改善网络的效率和性能,使得访问内容在地里上更接近终端用户,在更快分发的同事也减少带宽的占用Traffic Server 最初是 Inktomi 公司的商业产品,该公司在 2003 年被 Yah...
2020-03-29 09:59:18
1812
1
转载 UTC时间、GMT时间、本地时间、Unix时间戳.md
GMT和UTCGMT,即格林尼治标准时间,也就是世界时。GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间。但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用。UTC,即协调世界时。UTC是以原子时秒长为基础,在时刻上尽量接近于GMT的一种时间计量系统。为确保UTC与GMT相差不会超过0.9秒,在有需要的情况下会在UTC内加上正或负闰秒。UTC现...
2020-03-08 21:43:38
927
转载 java RSA加密解密实现.md
原文:java RSA加密解密实现该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar注意:RSA加密明文最大长度117字节(经过实际测试,最大长度为350),解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异常:Exception in thread...
2020-03-01 23:37:16
450
原创 软件设计的一些原则.md
1. Don’t Repeat Yourself (DRY)对重复代码进行公共方法提取,进行功能抽象、模板提取和功能最小化等操作。若在项目中很多的重复代码,意味着程序缺乏设计和抽象,这样的代码显得臃肿,不够简洁、清晰,容易造成改写扩散,不易维护。2.Keep It Simple, Stupid (KISS)万物至简,例如计算机的二进制,简单意味着易用,易理解、易维护。what is...
2019-12-08 11:46:43
409
原创 常用java代码质量检查工具.md
常用扫描工具PMD-CPD :Copy/Paste Detector (CPD) 代码重复率检测PMD:分析 Java 源代码,找出潜在的 bugFindbugs :Java bug检查checkstyle : 固定团队编码风格,固定命名风格以及换行风格等P3C: 阿里巴巴Java规范,这个是PMD扫描,但移除了PMD自带的n条规则,只执行阿里的规则Sonar Quabe: 一站式代...
2019-11-22 22:51:34
2642
原创 Java如何实现文件变动的监听.md
在Java 7发布的新的IO框架中,除了大家都熟知的 FileVisitor 接口外,还有个 WatchService 接口经常被人忽视掉。 这个类可以让你实时的监控操作系统中文件的变化,包括创建、更新和删除事件。WatchService 用来观察被注册了的对象的变化和事件。它和Watchable两个接口的配合使用, WatchService类似于在观察者模式中的观察者,Watchable类似域...
2019-11-20 15:57:48
466
原创 shell常用命令.md
1.在某匹配行行的前一行或后一行添加内容sed -i '/2222222222/a\3333333333' test.txt #某一行后加入什么内容sed -i '/2222222222/i\3333333333' test.txt #某一行前加入什么内容# 我的记法是a = after ,i = in front 。这样就知道 i 是前,a 是后了。2.获取当前目录getCurPat...
2019-11-13 19:05:41
1430
BJAF-SDK-2.2.4.rar
2020-08-01
CADCG2015_Proceedings+(1).zip
2020-06-26
冒烟测试的一些示范性质的用例
2020-05-06
keeplived离线安装openssl-devel依赖包
2018-05-08
redhat6.5上oracle 11g 全部依赖rpm包
2018-04-26
objectaid-1.1.4(UML)下载
2016-04-21
matlab读入三维点云数据斯坦福兔子
2015-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人