自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mark_cheng的专栏

代码的不重复,就是进步的阶梯!

  • 博客(47)
  • 资源 (24)
  • 收藏
  • 关注

原创 Git Core Lecture

Git 是一个快速的分布式版本控制系统

2024-05-25 20:02:31 1182

原创 Maven Core Lecture

Maven 是一款基于 Java 平台的项目构建,依赖管理的工具,使用 Maven 可以自动化构建,测试,打包和发布项目,大大提高了程序员的开发效率。

2024-05-18 09:15:21 753 1

原创 Java四种引用类型

Java 四种引用类型引用与对象每种编程语言都有自己操作内容中元素的形式,例如C和C++通过指针,Java中则通过"引用"。Java中一切皆对象,但我们操作的标识符实际上是对象的一个引用"reference".// 创建一个引用,引用可以独立存在,并不一定要与一个对象关联String s;// 引用的标识符指向某个对象,可以通过这个引用来操作对象了。String str = n...

2020-04-28 12:55:28 334

原创 深入理解Java8

深入理解 Java8简介Java8 可谓是Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简介、表达力更强,并且在很多情况下能够利用并行硬件的代码。学习后可以通过Lambda表达式使用一行代码编写Java函数、如何通过这种功能使用新的Stream API进行编程,如何将冗长的集合处理代码压缩为简单且可读性更好的流程序。学习创建和消费流的机制,...

2020-03-27 17:07:43 582

转载 Multilanguage Database Design in MySQL

This tutorial describes most popular techniques of creating database for multilanguage web sites.请参考:https://www.apphp.com/tutorials/index.php?page=multilanguage-database-design-in-mysqlBuilding...

2019-12-25 16:36:31 422

原创 设计模式-单例模式的几种创建方式

单例模式定义Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例)创建方式创建方式分为饿汉式、懒汉式、双重检查、静态内部类、枚举等。饿汉式静态属性创建/** * 采用饿汉式创建单例 * 使用静态...

2019-12-16 22:50:01 174

原创 IDEA 查询类中方法快捷键

IDEA 查找当前类快捷键Ctrl + F12

2019-12-10 09:11:01 1966

原创 MacOS中Docker 安装 MySQL

Docker install MySQL in MacOSMacOS 安装 Docker使用 Homebrew 来安装 Docker离线安装Docker 安装 MySQLDocker 启动 MySQL登录MySQL容器MySQL 修改字符集查看MySQL字符集修改字符集重启MySQL容器MacOS 安装 Docker使用 Homebrew 来安装 Docker$ brew cask inst...

2019-07-31 23:13:48 1073

原创 Java 程序的重试机制

重试机制要重试的话,一般采用循环的方式。循环中满足条件则退出循环,同样也可以设置最大重试次数。Java中的循环体包括,for,while,do...while等。do…while循环 public Object getValueWithRetry(int maxRetry) { int time = 0; Object result = null;...

2019-07-19 11:08:49 1393

原创 Java 日期区间与日期区间集合的差集 代码实现

Java 一个日期区间与一个日期区间集合的差集 代码实现0. 解决思路1. 定义包含[开始日期~结束日期]的对象DateObject2. 初始化DateObject集合对象3. DateObject集合中的日期区间合并4. 已知日期区间`date`与日期区间集合`list`求交集5. 已知日期区间`date`再与交集`intersection`求差集`differences`6. 测试类项目中...

2019-06-25 18:27:51 4175 5

原创 Java 日期工具类

Java8 日期工具类Date 与 LocalDateTime 互转Date 与 LocalDate 互转获取 Date 的当天开始时间获取 Date 的当天结束时间获取date所属月份第一天获取date所属月份最后一天获取两个日期之间所有日期集合date加上days后的日期Date 与 LocalDateTime 互转 /** * LocalDateTime 转 Date ...

2019-06-25 16:59:30 194

原创 Java中对象命名(POJO、PO、BO、VO、DTO、DAO)说明

1. POJO(Plain Ordinary Java Object)。简单而言,就是一个简单的对象,没有任何约束。 POJO 也会泛指用来做传输对象 Java bean (包括DTO、VO 、BO、PO等)。2. DTO(Data Transfer Object)数据传输对象,单纯用来数据传输的对象。3. PO(Persistant Object)持久化对象,是数据库中的表相映射...

2019-01-10 18:02:00 10066

原创 CentOS7中MySQL5.7 主主互备配置

CentOS7 中 MySQL 5.7 主主互备配置​ 先从MySQL对数据库复制的能力看,MySQL支持单向、异步的复制。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发...

2018-05-12 18:02:34 5573

原创 CentOS7 中MySQL5.7 安装

1. MySQL repo下载需要到MySQL官网下载MySQL的yum repository: http://dev.mysql.com/downloads/repo/yum/. 我们使用的是CentOS7 所以下载这个:使用rpm对下载的rpm文件进行安装:shell> sudo rpm -Uvh mysql80-community-release-el6-...

2018-05-12 17:24:21 801

原创 Docker 学习记录(二)

Docker 国内镜像加速使用docker中的一重大问题就是国外镜像很不稳定,而且国内经常连不上,所以就有了国内专有的镜像加速。修改Docker配置在 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。如果此文件不存在,需要自己手动创建一下,内容如下:{ "registry-mirrors": ["https://regi...

2018-04-20 23:11:36 179

原创 Docker 学习记录(一)

Docker学习记录(一)工作中计划使用Docker来部署项目,所以就看了看docker的知识,再此做一记录。Docker 安装这个安装可费老鼻子劲儿了,网上找了各种学习资料,发现各种不靠谱,只能硬着头皮去看官网的英文了,地址:docker 官网,找到了CentOS安装docker的方式:CentOS install docker,我选择的是用yum安装。安装Docker 镜像...

2018-04-20 23:06:34 198

原创 Redis系列学习(四)Redis Cluster搭建

Redis Cluster搭建准备redis节点节点之间关联分配数据槽

2017-12-18 19:18:51 234

原创 数据库连接池参数说明--基于tomcat

数据库连接池参数说明--基于tomcat

2017-12-13 15:43:14 967

原创 NodeJs ORM框架之 Sequeslize 生成model的工具sequelize-gen

sequelize-gen说明sequelize-gen工具可以根据数据库中的表来生成对应的model,很大程度上方便了程序员去手动创建model。 此命令示例如下:sequelize-gen -h host -p 'port' -d 'db_name' -u user -x password -e'mysql' -o ./models -t 'table_name'命令行参...

2017-12-11 15:15:29 1880

原创 Java Web应用程序认证 -- 基于JDK7的License开发应用以及认证

在软件或产品交付时,我们往往会授权给第三方或者防止程序乱部署而对部署的服务器进行认证,此时License就排上用途了。授权的方便在于如果证书过期,我们可以重新生成一个认证文件而不用修改程序。

2017-12-04 17:44:22 8623 10

原创 读取Jar包中的配置文件

读取Jar包中的配置文件在打包前和打包后有区别:打包前: getClass().getClassLoader().getResourceAsStream(propertiesPath);这样读的InputStream为BufferedInputStream实例,打包后:将以流为sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream实

2017-12-01 10:42:45 2728

翻译 Java NIO (二) 通道(Channels)

Channelschannels与buffers配合去实现高性能的I/O操作。本章向你介绍NIO的channel类型。

2017-11-02 21:24:00 3143

翻译 Java NIO (一) 缓存区(Buffers)

最近在学习java nio,但是苦于没有找到中文资料,所以下决心计划将资料《Java I-O, NIO and NIO.2》中的NIO和NIO.2两部分翻译成中文,自己水平有限,如有不当之处请看客指出,我会努力修改。

2017-10-22 13:44:29 607

原创 Java 并发编程(九)并发集合框架

集合框架简介编程中,我们经常需要集中存放多个数据。数组是我们的一个很好的选择,前提是我们事先明确我们将要保存对象的数量。数组在初始化时如果指定了长度,那这个数组长度就是不可变的了,如果我们需要保存一个可以动态增长的数据(编译时无法确定具体的对象数量),所以Java提供了集合框架来实现这个功能。

2017-10-18 19:59:31 7195

原创 Java 并发编程(八)Future和Callable,CompletionService的使用

Future和Callable介绍 线程Thread默认情况下不具有返回值的功能,如果在需要取得返回值的情况下是极为不方便的,在Java5的并发包中可以使用Future和Callable来实现线程具有返回值的功能。

2017-10-14 16:39:49 653

原创 Java 并发编程(七)Fork/Join框架

什么是Fork/Join框架 Fork/Join框架是Java7提供的并行执行任务的框架,是把大任务分割成若干小任务,最终汇总每个小任务结果后得到大任务结果的框架。 再从字面意思来理解一下Fork/Join框架的意思,Fork就是切分大任务成小任务并行执行,Join就是合并小任务的结果得到大任务的结果。

2017-10-11 21:13:44 374

原创 Java 并发编程(六)线程池Executors与ThreadPoolExecutor

为什么使用线程池?在开发服务器软件时,我们经常需要处理执行时间比较短但是数量巨大的请求,如果每个请求都创建一个新的线程来处理,那就会导致线程太多而遇上系统性能的瓶颈,因为线程的创建和销毁需要JVM进行处理,如果请求时间太短,那就在线程的创建和销毁对象上花费的时间大于线程执行的时间,如果是这样,那性能就大大降低了。 考虑到以上问题,java在jdk5中提供了线程池的支持,当然我们可以自己来实现

2017-09-29 11:44:47 483

原创 Java 并发编程(五)同步锁Lock的使用

除了上篇讲的synchronized关键字来实现同步,java5中也提供了Lock对象来实现同步的效果,我们重点学习以下两个知识点。ReentrantLock类ReentrantReadWriteLock类1. ReentrantLock 类的使用java多线程中,synchronized关键字实现多线程之间的同步,但是ReentrantLock类也能达到同样的效果,并且在扩展功能上也更强大,

2017-09-26 21:03:06 586

原创 Java 并发编程(三)线程管理

线程管理根据[ Java 并发编程(二)线程状态跃迁](http://blog.csdn.net/hongguo_cheng/article/details/78089854)可知线程包含了如下几种状态:1.新建状态(New)2.就绪状态(Runnable)3.运行状态(Running)4.阻塞状态(Blocked)5.死亡状态(Dead)Java中自带了对多线程技术的支持,实现多线程编

2017-09-26 11:10:32 314

原创 Java 并发编程(二)线程状态跃迁

线程的状态:1、新建状态(New)新创建了一个线程对象。示例: Thread t = new Thread();2、就绪状态(Runnable)线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。示例: t.start();3、运行状

2017-09-25 21:45:37 542

原创 Java 并发编程(一)线程与进程

1. 进程1.1 概念 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。2. 线程2.1 概念 线程,有时被称为轻量级进程(Lightweight

2017-09-25 19:19:41 286

原创 Java 并发编程(四)线程同步关键字volatile和synchronized

线程,是程序执行流的最小单位。是进程中的一个实体,是被系统独立调用和分派的基本单元,线程自己不拥有系统资源,只是拥有在运行中必不可少的资源,但是可以与同属一个进程的其他线程共享全部资源,一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以兵法执行。单个程序中同时运行多个线程完成不同工作,称之为多线程。java中并发包:java.util.concurrent

2017-09-14 20:53:30 563

原创 Apache ActiveMQ Cluster Master and Slave with JDBC

1. ActiveMQ 安装1.1 ActiveMQ下载 wget http://archive.apache.org/dist/activemq/5.14.5/apache-activemq-5.14.5-bin.tar.gz1.2 包解压 tar -xf apache-activemq-5.14.5-bin.tar.gz1.3 启动ActiveMQ cd apache-activ

2017-06-20 23:21:10 331

原创 Redis系列学习(三)将redis作为服务发布(基于Centos7)

1.安装redis2.安装完毕后操作如下进入到redis/utils目录中 cd /usr/local/redis/utils执行install_server.sh脚本 ./install_server.sh根据提示可默认选择执行(加粗是可自行配置) Welcome to the redis service installer This script will help you eas

2017-06-12 00:32:12 269

原创 知识杂碎

1.npm修改淘宝镜像 npm config set registry=https://registry.npm.taobao.org2.nohup 命令用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ]例子:nohup /root/start.sh &3 npm install异常:Unexpected end of JS

2017-05-24 11:58:15 276

原创 NodeJS的Express框架获取Http请求参数

官方文档中包含了三种方式获取请求参数 1. req.params 如果你的route设置为此形式:/user/:name, 然后“name” 属性就可以使用 req.params.name 获取。对象默认值为{}。 例子如下:// GET /user/tjreq.params.name// => "tj"如果你用正则表达式定义route时, 可以使用req.params[n]数组来获取请求

2017-05-10 16:13:02 1589

原创 WebStorm 配置NodeJS

NodeJS

2017-05-09 16:59:56 878

原创 系统工具

1. String.format详解2. nohup后台运行jar文件以及定向输出3. web应用中关闭spring容器的方式

2017-03-30 11:36:12 239

原创 Java IO 其他流 -- 字节数组流,字符数组流和数据流

字节数组流 1.1 字节数组输入流ByteArrayInputStream 参考其源码方法,相对于InputStream,没有新增方法,所以使用也与InputStream一样,可以使用多态,例子如下:public static void read(byte[] msg) throws IOException { InputStream is = new ByteArrayInputS

2016-08-10 14:28:44 463

原创 Java IO 转换流的读入和写出

Java IO 转换流的读入和写出 转换流主要是将字节流转换成字符流,主要目的是解决读取和写出乱码问题,以下情况会导致乱码: 1) 读取和写出编码字符集不一致; 2) 读取和写出数据不完整。1、InputStreamReader 转换输入流 InputStreamReader 读入文本时将字节流转换成字符流。1.1 InputStreamReader 的dem

2016-08-03 00:01:45 399

Junit5 migration guide

Junit5 migration guide

2022-01-27

Git版本控制管理

Git版本控制管理

2019-06-29

Java 开发手册-1.5.0

Java 开发手册-1.5.0,最新版的开发手册,也可上官方下载

2019-06-20

Building+a+REST+API+with+Spring

Building+a+REST+API+with+Spring

2019-06-18

servlet-3_1-final.pdf

servlet-3_1-final,servlet3.1版本的规范,参考文档。

2019-06-17

Getting Started with Google Guava

Getting Started with Google Guava, guava的技术参考文档

2019-06-17

Java Concurrency in Practice-2006版

Java Concurrency in Practice 并发编程书籍,值得推荐学习

2019-06-17

Java8 新特性

java8的新特性,包含lambda表达式,stream流以及Optional和日期

2019-06-17

Effective Java - 3rd

EPUB is an open, industry-standard format for e-books. However, support for EPUB and its many features varies across reading devices and applications. Use your device or app settings to customize the presentation to your liking. Settings that you can customize often include font, font size, single or double column, landscape or portrait mode, and figures that you can click or tap to enlarge. For additional information about the settings and features on your reading device or app, visit the device manufacturer’s Web site.

2019-06-17

Scalable IO in Java -- Doug Lea

Scalable network services,Event-driven processing,Reactor pattern and so on。

2019-06-17

Thinking In Java 4th.pdf

Thinking in Java 4th 英文原版带书签,后续会补全书签。

2019-06-17

京东技术解密--带书签

京东技术解密--主要介绍了京东几年发展中的各个系统的发展历程以及结果。

2018-07-31

Xshell 5 for home/school

Xshell 5 for home/school, 适用于家庭/学校的同学来使用学习

2018-05-06

java语言程序设计 进阶版 第十版 复习题答案

java语言程序设计 进阶版 第十版 复习题答案,可以深入学习一下java体系知识

2018-02-03

java语言程序设计 进阶篇 第十版 课后习题答案

java语言程序设计 进阶篇 第十版 课后习题答案, 对比答案会学的更深刻

2018-02-03

Java I-O NIO and NIO2

完整的讲述了Java的IO,NIO以及NIO2,文档是英文版的,我会陆续翻译其中的NIO章节。

2017-11-02

Android官方API文档完整版

Android官方API文档完整版,基于Android4.0版本的api

2015-03-12

空空如也

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

TA关注的人

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