November 30, 2018
Java高级编程
反射
一、概述&应用场景
Java反射机制是在运行状态中,对于任意一个类(Class)文件,都能够知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意一个方法和属性;
这种动态获取的信息以及动态调用对象的方法的功能成为Java语言的反射机制。
简单说就是动态获取类中信息就 ...
Read more
November 20, 2018
Spring Boot
介绍常见的jar包应用在Linux服务器部署规范
一、jar包提取出来maven打包(避免每次重复打相同的jar包)
pom.xml配置如下
<build> <finalName>xxx</finalName> <plugins& ...
Read more
November 17, 2018
高并发编程系列
谈到并发编程就不得不提到NIO,以及相关的Java NIO框架Netty等,并且在很多面试中也经常提到NIO和AIO、同步和异步、阻塞和非阻塞等的区别。我先简短介绍下几个NIO相关的概念,然后再谈NIO重点掌握内容,以及Java NIO框架选型。
一、 BIO、NIO、AIO的区别IO模 ...
Read more
August 15, 2018
Java高级编程
Restful API
目前比较成熟的一套互联网应用程序的API设计理论
一、协议
API与用户的通信协议,总是使用HTTPs协议。
二、域名
应该尽量将API部署在专用域名之下。
https://api.xxxxxx.cn/
https://xxxxxx.cn/api/
三、版本(V ...
Read more
August 15, 2018
Java高级编程
Optional类
Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空 ...
Read more
March 20, 2018
Java高级编程
本文讲述哈希函数处理冲突的四种基本方法
一、开放定址法
所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入
公式为:fi(key) = (f(key)+di) MOD m (di=1,2,3,……,m-1)
对增量d ...
Read more
August 18, 2017
Linux
本文记述Linux下的cp/rm/mv强制覆盖以及在Java中的调用(博客园文章迁移)
一、Linux下的cp/rm/mv强制覆盖1. 反斜杠(\)临时取消别名[root@fz ~]# \cp filename new/filename [root@fz ~]#
2. unalias ...
Read more
August 18, 2017
数据库
Oracle
本文记述Oracle的CLOB大数据字段类型(博客园文章迁移)
一、Oracle中的varchar2类型
我们在Oracle数据库存储的字符数据一般是用VARCHAR2。VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不 ...
Read more
April 2, 2017
剑指offer
一、问题描述
在长度为n的数组中,所有的元素都是0到n-1的范围内。 数组中的某些数字是重复的,但不知道有几个重复的数字,也不知道重复了几次,请找出任意重复的数字。 例如,输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出为2或3
解法一:排序扫描
将输入的数组进行排序,遍历 ...
Read more
March 6, 2017
Java高级编程
一、Java Socket简介
对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它 ...
Read more