自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

借你一秒

沉心静气,平常心,做好小事方成大事。

  • 博客(506)
  • 资源 (18)
  • 收藏
  • 关注

原创 个人优秀博客收藏

1.浅谈算法和数据结构系列博客:主要介绍最主要的排序,查找算法,以及数据结构。主要涉及编程语言、数据库、框架、web、Linux等!

2015-08-03 18:28:33 2609 6

原创 常用算法模板

一、解题必备模板1.递归2.DFS3.BFS4.二分查找5.动态规划DP6.位运算7.动态规划&回溯&贪心二、切题四件套&刻意练习

2023-08-13 19:03:27 165

原创 并查集的原理与实现

小弟-老大; 帮派识别

2023-08-13 16:50:50 256

原创 全光谱吸顶灯选购指南

1.客厅1.1 客厅吸顶灯对比2.卧室2.1 卧室吸顶灯对比

2023-07-23 18:32:26 193

原创 股票基金入门知识

股票入门知识,K线、收盘价和开盘价

2023-07-23 17:21:55 216

原创 郭东白的架构课学习笔笔记(1)

忙!=有价值。

2023-07-16 17:58:33 610

原创 字节跳动笔试题

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 435

原创 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 499

原创 宋氏极简美学的编码风格

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

2020-08-23 12:35:15 1974 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 1117

原创 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 351

原创 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 776

原创 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 2628

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

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

2020-07-04 13:11:21 6522 1

原创 什么是DFX测试.md

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

2020-07-04 10:05:46 19811 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 4623 1

原创 Linux性能分析工具.md

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

2020-06-25 12:19:49 485

原创 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 936

原创 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 854

原创 UML类图总结.md

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

2020-05-31 17:55:13 663

原创 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 677

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

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

2020-05-07 20:25:07 429

原创 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 958

原创 haproxy介绍

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

2020-05-06 22:44:41 1257

原创 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 820

原创 JAVA-IO流体系

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

2020-05-06 22:24:37 377

原创 常见的Web攻击.md

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

2020-05-06 21:52:16 3130 1

原创 Java中的WeakHashMap

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

2020-04-28 23:06:30 7791 6

原创 JAVA如何优雅的重试?@Retryable(spring的重试机制)

楔子在应用程序中,由于一些网络等不可预知的问题,我们的程序或者接口会失败,比如调用一个第三方的接口获取数据失败了,这时就需要重试机制,比如延时3S后重试、间隔不断增加重试等,而这些机制完全不需要你自己去实现,全部交给Spring Retry吧。使用1.在pom文件中添加相应的依赖<dependency> <groupId>org.springframewor...

2020-04-25 11:33:36 19227 3

原创 ant CreateProcess error=206, 文件名或扩展名太长

如果您已经创建了自己的构建文件而不是使用项目 - >生成Javadocs ,那么您可以将 useexternalfile =“是”添加到Javadoc任务,该任务专门用于解决此问题。 <javadoc destdir="${jdiff.build.dir}" excludepackagenames="org.apache.jute" ...

2020-03-31 11:47:55 2538

原创 Apache Traffic Server 简介

1. 介绍Apache Traffic Server(ATS或TS)是一个高性能的、模块化的 HTTP 代理和缓存服务器。与 Nginx 和 Squid 类似。它通过将频繁访问的信息缓存在网络的边缘来改善网络的效率和性能,使得访问内容在地里上更接近终端用户,在更快分发的同事也减少带宽的占用Traffic Server 最初是 Inktomi 公司的商业产品,该公司在 2003 年被 Yah...

2020-03-29 09:59:18 1508 1

转载 UTC时间、GMT时间、本地时间、Unix时间戳.md

GMT和UTCGMT,即格林尼治标准时间,也就是世界时。GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间。但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用。UTC,即协调世界时。UTC是以原子时秒长为基础,在时刻上尽量接近于GMT的一种时间计量系统。为确保UTC与GMT相差不会超过0.9秒,在有需要的情况下会在UTC内加上正或负闰秒。UTC现...

2020-03-08 21:43:38 812

转载 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 403

原创 软件设计的一些原则.md

1. Don’t Repeat Yourself (DRY)对重复代码进行公共方法提取,进行功能抽象、模板提取和功能最小化等操作。若在项目中很多的重复代码,意味着程序缺乏设计和抽象,这样的代码显得臃肿,不够简洁、清晰,容易造成改写扩散,不易维护。2.Keep It Simple, Stupid (KISS)万物至简,例如计算机的二进制,简单意味着易用,易理解、易维护。what is...

2019-12-08 11:46:43 365

原创 常用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 2472

原创 Java如何实现文件变动的监听.md

在Java 7发布的新的IO框架中,除了大家都熟知的 FileVisitor 接口外,还有个 WatchService 接口经常被人忽视掉。 这个类可以让你实时的监控操作系统中文件的变化,包括创建、更新和删除事件。WatchService 用来观察被注册了的对象的变化和事件。它和Watchable两个接口的配合使用, WatchService类似于在观察者模式中的观察者,Watchable类似域...

2019-11-20 15:57:48 412

原创 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 1339

原创 问题:如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元?.md

1,3,5元面值若干,凑钱问题算法思想假如要计算11元需要的面值数最小,那么,11元减去一张1元或者3元或者5元,即10元,8元,6元分别需要的面值数,取出最小,加上1,即可以得到11元最小的。所以,n元最小问题,是由n-1元,n-3元,n-5元三种状态里面取到的最优解。其中计算的递归树为:d(11) = min{d(10),d(8),d(6)} + 1递推式d(i) = mi...

2019-11-09 11:52:45 2544

原创 培训知识点总结.md

重构的目标易读易改留好扩展点防护需要做金字塔防护测试用例要由关键的冒烟用例和普通用例测试用例做到测试即文档,测试函数名字就知道要测什么每个测试的职责要单一手段切割上下文留好扩展点做好测试保护(多使用MOCK工具。例如数据库可以使用HSQL内存数据库、kafka采用jar包形式的内存版本等,采用MOCK服务等方式)测试用例缺失的原因没时间没意愿成本高...

2019-11-03 19:35:35 343

原创 Git学习入门笔记

1. 集中式VS分布式集中式:CVS、SVN速度慢,必须联网,版本库在中央服务器中,使用简单分布式:Git速度快,无需联网,安全性高,每个人的电脑都有完整的版本库,中央服务器用来交换大家的改动,分支管理强大,使用较复杂注: GitHub:免费提供Git存储。提供Git仓库托管服务,充当用于交换的免费中央服务器。远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的...

2019-09-01 20:13:00 315

字节跳动社招第一轮面试真题

字节跳动社招第一轮面试真题,适用字节社招面试

2023-07-23

BJAF-SDK-2.2.4.rar

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

2020-08-01

CADCG2015_Proceedings+(1).zip

14th International Conference on Computer-Aided Design and Computer Graphics CAD/Graphics 2015 is affiliated with the Chinese Computer Federation (CCF) and is a biennial international conference. It provides a worldwide forum for international researchers and developers to exchange new ideas on computer-aided design, computer graphics, electronic design automation and visualization to explore new ideas and trends.

2020-06-26

冒烟测试的一些示范性质的用例

冒烟测试的一些示范性质的用例。 在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。

2020-05-06

社招简历优秀模板

社招简历优秀模板;来自五百丁4年来已为上万名求职者提供简历,

2019-06-12

NetClassLoaderSimple.class

测试网络加载动态加载class的测试文件,便于测试类加载器。

2019-03-27

keeplived离线安装openssl-devel依赖包

由于公司业务并发比较高需要高可用使用LVS keeplived。在linux系统centos6.5版本中安装keeplived时,需要安装penssl-devel依赖包,但是服务器是不允许连接外网(互联网)的,无法使用yum命令进行安装操作,所以本人研究了一下如何在离线状态下安装penssl-devel依赖包。文件为全量openssl-devel依赖包。 configure: error: !!! OpenSSL is not properly installed on your system. !!! !!! Can not include OpenSSL headers files. !!!

2018-05-08

redhat6.5上oracle 11g 全部依赖rpm包

redhat6.5上oracle 11g 全部依赖rpm包; 先安装gcc和g++,方法如下: 安装 rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm rpm -ivh kernel-headers-2.6.32-431.el6.x86_64.rpm rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm rpm -ivh glibc-devel-2.12-1.132.el6.x86_64.rpm rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm 然后在暗转其他rpm包

2018-04-26

《Python+Cookbook》第三版中文v3.0.0

Python+Cookbook

2018-01-25

《Python Cookbook》第三版中文v2.0.0.pdf

《Python Cookbook》第三版中文v2.0.0.pdf 绝对高清

2018-01-25

Ganymed实现自动化部署接口

Ganymed实现自动化部署接口,实现上传下载,远程执行,修改配置等,能够实现基本的faberic的功能

2017-05-05

使用JavaScript实现打飞机游戏

使用JavaScript实现打飞机游戏,完美复制原版

2016-06-26

用glm库加载和使用obj模型

用glm库加载和使用obj模型

2016-06-24

Java语言编码规范Sun.pdf

Java语言编码规范Sun.pdf Java编码规范第一参考和知道资料

2016-05-26

java 核心卷9示例代码(corejava9)

java 核心卷9配套的示例代码(corejava9)。学习Java核心卷必备的示例代码。

2016-05-26

objectaid-1.1.4(UML)下载

Eclipse的插件objectaid-1.1.4(UML)安装本地安装包。根据.java文件将各个类之间的关系以UML中的类图(Class diagram)的形式展示出来。

2016-04-21

matlab读入三维点云数据斯坦福兔子

其中点云数据是斯坦福兔子,做三维点云重构后的人可以好好看看,只是简单读入程序,作为初学者比较好些,进一步的研究还在后边,有机会的话会继续上传,比如说delauny三角网格划分,还想进一步研究snake曲线

2015-06-28

Linux高级程序设计 第三版 源码(示例代码)(杨宗德)

Linux高级程序设计 第三版 源码(示例代码)(杨宗德),和课本上的代码是完全一样的,希望大家下载。

2015-04-19

MFC示例程序

MFC,示例程序,最简单的c++MFC程序代码,帮助大家理解。源代码,有全部文档。

2014-04-24

空空如也

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

TA关注的人

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