logo头像

Always believe youself.

java

如何让Java编译器帮你写代码-转

背景监控是服务端应用需要具备的一个非常重要的能力,通过监控可以直观的看到核心业务指标、服务运行质量等,而要做到可监控就需要进行相应的监控埋点。大家在埋点过程中经常会编写大量重复代码,虽能实现基本功能,但耗时耗力,不够优雅。根据“DRY...

数据库连接池

官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。 个人理解:创建数据库连接是一个很耗时的操作,也容易对数据库造成安...

java实体类命名

实体类分层命名PO,VO,BO,DTO,POJO,DAO,DO PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 ...

Java中List的排序整理

方案一简单的排序方法,如以下代码 import java.util.ArrayList; import java.util.Collections; import java.util.List; public class s...

动态代理详解

java的三种代理静态代理(类似于装饰者模式)动态代理Cglib代理(基于继承的方式实现)java 动态代理代理模式是常见的一种java设计模式,特征是代理类与委托类实现了同样的接口,代理类主要负责为委托类预处理、过滤、转发,以及事后...

ComponentScan自动扫描组件

ComponentScan创建一个配置类,在配置类上添加 @ComponentScan 注解。该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan> import org...

线程池复习

创建通过Executors类提供的方法。newCachedThreadPool创建一个可缓存的线程池,若线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新建线程。 private static void createCach...

用Netty写一个高性能的分布式服务框架?

什么是 Netty? 能做什么? Netty 是一个致力于创建高性能网络应用程序的成熟的 IO 框架。 相比较与直接使用底层的 Java IO API,你不需要先成为网络专家就可以基于 Netty 去构建复杂的网络应用。 业界常见的涉...

IO演进之路

从操作系统实际调用角度(以CentOS Linux release 7.5操作系统为示例),力求追根溯源看IO的每一步操作到底发生了什么。 关于如何查看系统调用,Linux可以使用 strace 来查看任何软件的系统调动(这是个很好的...

关于Double

Dubbo 框架,可能很多后端开发者都有所了解,它是国内比较早的、影响较大的开源项目,包括阿里巴巴、京东、当当网、去哪儿网、网易考拉、微店等电商平台都有其成功应用案例。 Dubbo 于 2011 年开源,之后就迅速成为了国内该类开源项...

Reactor线程模型

Reactor是什么?The reactor design_pattern is an event_handling pattern for handling service requests delivered concurrent...

Java布隆过滤器

布隆过滤器在程序的世界中,布隆过滤器是程序员的一把利器,利用它可以快速地解决项目中一些比较棘手的问题。如网页 URL 去重、垃圾邮件识别、大集合中重复元素的判断和缓存穿透等问题。 布隆过滤器(Bloom Filter)是 1970 年...

转-Java方法到底是值传递还是引用传递?

转自- !(https://cloud.tencent.com/developer/column/1697) 要点:Java方法到底是值传递还是引用传递? 这个问题一直在技术讨论区争论不休。对于初级人员来说很具有迷惑性,即便对于很多高...

RUNOOB-java高级教程-5

java 多线程编程 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这...

RUNOOB-java高级教程-4

6. java 发送邮件使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) 。 可以从 Java 网站下载最新...

RUNOOB-java高级教程-3

java 序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。 将序列化对象写入文件之后,可以从文件中读取出来,并...

RUNOOB-java高级教程-2

java 泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参...

RUNOOB-java高级教程-1

数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表...

RUNOOB-java面向对象3

java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很...

RUNOOB-java面向对象2

java 多态多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 多态性是对象多种表现形式的体现。 多态的优点 消除类型之间的耦合关系 可替换性 可扩充性 接口性 ...

RUNOOB-java面向对象1

Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为...

RUNOOB-java基础回顾7

Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。 创建 Scanner 对象的基本语法:Scanner s = new Scanner(...

RUNOOB-java基础回顾6

Java 方法 我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法。 System 是系统类。 out 是标准输出对象。这句话的用法是调用系统类 System 中的标准输出...

java新特性补充版本

java版本详情背景 1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动 1995-5-23 Oak语言改名为Java,提出 “Write Once,Run Anywhere”...

RUNOOB-java基础回顾5

Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 第一个构造函数使用当前日期和时间来初始化对象。Date( ) 第二个构造函数接...

java版本更新的新特性

jdk 1.8 新特性Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的...

RUNOOB-java基础回顾3

java Number & Number 类我们使用数字的时候,通常用的内置数据类型, 如 byte int long double 等 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决...

RUNOOB-java基础回顾2

java 变量类型 java 支持的变量类型有: 类变量: 独立于方法之外的变量,用static 修饰 实例变量: 独立于方法之外的变量,不过没有static修饰 局部变量: 类的方式的变量。 java 局部变量 局部变量声...