单元测试

2017-09-20
阅读 3 分钟
3.1k
单元测试在开发的过程中可能会被很多的人所忽略,其实也不是真的被忽略可能是由于巨大的业务压力而导致没有时间去写那些测试,而是直接通过集成测试完没问题就提交给测试进行测试后上线了。这样其实很多时候反而会浪费大量的时间在测试上面,而适量的写好单元测试有以下一些优势:

Linux磁盘容量占比

2017-08-20
阅读 2 分钟
3.1k
收到磁盘报警提示某个目录下已占用85%的存储空间,对于开发来说这个时候就会要去看下具体是些什么文件占用了磁盘空间,在排查的过程中用到的相关命令记录在此。

Java内存溢出(OutOfMemoryError)

2017-07-30
阅读 2 分钟
3.3k
我需要对hive中的数据进行批量操作处理,对于没有了解过hive的同学来说,有点茫然了。于是按照常规思路开始通过JDBC连接Hive读取数据 -> 处理数据 -> 写入数据。

GuavaCache

2017-07-23
阅读 14 分钟
5.8k
在我们编程的过程中会遇到一些在程序中需要重试使用的数据,在这种情况下我们就可以考虑利用缓存(内存)的优势来提供程序访问这些数据的一个性能了。利用了缓存可以在一定程度上缓解很大的性能消耗:

数据库操作(jdbc)

2017-07-22
阅读 12 分钟
3.4k
前言 在构建一个系统的过程中难免需要对数据存储,而存储一般会有缓存(内存)、数据库(硬盘)两种存储介质。 本篇文章我们主要来介绍下在我们通过spring构建应用的过程中如何进行数据库连接、以及数据库连接的几种方式进行简单介绍。 spring中连接数据库有如下几种方式: 直接通过驱动连接数据库的方式 spring提供的Jd...

React实战 -- todoList

2017-05-22
阅读 5 分钟
5.3k
React现在比较火的前端组件化开发框架,近段时间开始慢慢的关注前端相关技术,本篇主要来介绍一个React的入门Demo todoList,相信很多刚刚开始接触React开发的人都会去实践一下。好了,下面就来感受下React的魔力。

前端技术漫谈

2017-05-14
阅读 4 分钟
2.1k
擅长于Java后台开发,来前端探探路。软件开发大体上可以分为前端、客户端、后端,这三大类。本片主要带大家来初探下前端一些相关的技术,主要围绕一直争论不断的React(因为还有很多人会认为angular、vue会是比React更好的前端开发技术)。

缓存那些事

2017-05-14
阅读 3 分钟
3k
如果知道一点点计算机方面的知识就会知道,计算机的构造也是由多级缓存->硬盘一起来构造计算机的数据存储。当然这里不是来拨开计算机的神秘面纱来看透缓存的本质设计的,此篇想来讲讲我们在软件构造的过程中为了让系统能提高数据的读写效率,同时减少网络/IO延迟而进行的缓存设计。

并发编程 - 探索一

2017-05-13
阅读 3 分钟
2.1k
例如:此刻我正在写博客,但是我写着写着停下来吃一下东西(菠萝片)再写、再吃。这两个动作在一段时间内都在发生着,这可以理解为并发。另一方面我在写这个博客的同时我在听音乐。那么同时存在的两个动作(写博客、听音乐)是同时在发生的这就是所谓的并行。

原型模式-设计模式

2017-02-24
阅读 3 分钟
1.9k
原型模型通过拷贝创建对象,也可归结为的创建型的设计模式。 原型模式的示例: {代码...} 1、实现Cloneable接口2、调用object父类的clone方法进行拷贝。这里的拷贝是浅拷贝。 实现深拷贝: {代码...} clone这种方式是先分配内存大小,然后通过内存块的复制操作来实现赋值的,效率可能会比new出来一个对象的效率高点。

单例模式-设计模式

2017-02-22
阅读 2 分钟
1.4k
/** 懒汉式* 线程安全,在进行类初始化的时候就实例化了* */ {代码...} /** 饿汉式* 线程不安全的单列模式* */ {代码...} /** 饿汉式* 线程安全的单列模式, 但是效率不佳. 因为所有的线程都需要同步等待获取单例对象* */ {代码...} /** 饿汉式* 线程安全的单列模式, 效率由于上面一种饿汉的方式. 因为所有的线程都需要同...

工厂模式-设计模式

2016-11-07
阅读 2 分钟
3.1k
工厂模式想必大家在开发过程中会经常用到,顾名思义其就是作为一个工厂用来生产产品的,下面来简单介绍几种常见的工厂模式。 0x01 简单工厂模式 1、类图结构 2、角色分类 工厂类:其内部具有一点的判断逻辑,需要根据不同的逻辑去生产出不同的产品 抽象产品类:主要约定创建产品的标准 具体产品类:继承抽象产品类实现其...

JAVA语法糖“+”运算符

2016-10-12
阅读 2 分钟
3.9k
JAVA提供的“+”运算符,如Iteger+String,从C++的角度来看总是想找到JAVA是怎么重载这个“+”运算符,于是进去String这个类中看,然而并没有什么卵发现,于是乎想着JAVA是怎么做到的?下面来为你逐步分析下JAVA是怎么实现“+操作符重载的”。

Hello Netty

2016-10-10
阅读 4 分钟
2.6k
通过java进行网络编程,netty可以提高网络通信的开发效率的同时大大提高网络通信的效率。下面来看下如何使用netty进行高效编程。 引入依赖 {代码...} netty3和netty4在编程api上有一定的区别,本篇是通过netty4进行实践的。 服务端句柄对象io.netty.bootstrap.ServerBootstrap netty服务端和客户端的创建都是依赖于Boots...

JAVA动态代理

2016-10-08
阅读 2 分钟
2k
代理分为静态和动态代理。静态代理:硬编码实现的代理类,在程序被编译成.class文件时代理类就已经存在。动态代理:代理类在运行时产生,运用jdk的反射机制动态创建而成。

扩展spring schema文件

2016-09-29
阅读 5 分钟
6k
spring我们在开发过程中是个必不可少的框架,我们通常会将我们程序中的bean交由spring容器来进行管理,应用程序需要用到bean的时候从spring容器中去获取,spring是如何实现这种方式的呢?spring的配置文件,当我们在开发的过程中发现spring提供的配置命令不满足的情况下我们该怎么办呢?我们是不是要自己去解析原生的xml...

java自定义注解

2016-09-13
阅读 2 分钟
4.3k
在我们编程过程中,会经常需要使用到注解,在使用spring进行应用构建的过程中会使用到非常多的spring注解。这篇就来谈一谈我们是如何去定义自己的注解在程序中进行使用的。

java线程池

2016-07-17
阅读 3 分钟
2k
这种方式,这种实现方式也没有什么不好,只是如果线程一多的话不好对所有的线程进行统一管理。然后java有了线程池技术,我们可以通过线程池技术来替换实现上面的方式。

java NIO

2016-07-17
阅读 5 分钟
2.6k
NIO是什么就不在此文展开,这篇主要来介绍下我们要怎样通过java NIO来构建一个服务客户端程序的。 0x01 涉及知识点 NIO建立一个服务端和客户端程序主要涉及的知识点有: channel selector buffer 如果通过C/C++写过通信程序的应该知道都是通过linux提供的系统调用来完成,java NIO的实现思想上没有什么变化只是在实现方...

如何避免if else

2016-07-01
阅读 6 分钟
9.1k
在开发的过程中我们可能会经常遇到if else的逻辑,写很多if else对于一位有情怀的程序员看来是不可以接收的,也影响阅读人的阅读感受,同时程序也违背了对修改关闭扩展开放的原则。在写程序的过程中我们应该尽量保证修改关闭,也就是说自己的写的代码逻辑应不该让别人在扩展逻辑的过程中进行修改,同时保证高的可扩展性。

groovy脚本

2016-05-28
阅读 2 分钟
4.9k
groovy脚本在我的使用过程中,其语法和java语法非常类似,但是其是有一套属于自己的脚本的,我们可以通过在java代码中调用groovy脚本,就像调用一个方法一样,可以给groovy脚本传递一些必须的参数。

spring ApplicationListener&ApplicationEvent

2016-05-28
阅读 3 分钟
3.4k
从命名上可以很容易的看出来一个是listener另一个是被监听的事件,但是spring是如何做到listener去监听event?同时我们该如何在日常开发过程中使用spring为我们提供的这一个监听模式?

spring MVC -- controller参数的解析

2016-05-21
阅读 4 分钟
7.7k
spring IoC、AOP、Transaction这些都是很重要的特性,但是这篇这些都不是主角,主要来谈谈springMVC是如何对请求参数进行解析封装的,以及简单的介绍spring是怎么进行http请求路由的。

maven自定义archetype

2016-05-02
阅读 5 分钟
10.7k
此篇主要来谈谈maven自定义archetype,maven是一个很好的代码构建工具,采用“约定优先于配置”的原则进行项目管理,相信很多的java开发者应该都了解maven并可能在工作当中都是通过maven来管理项目的,此篇就不再深究maven的概念问题,侧重点来聊聊如何自定义archetype。

有关于存储

2016-01-05
阅读 2 分钟
1.8k
此篇就来谈谈数据存储吧!年初的时候进入一家互联网公司实习,刚好做的是分布式存储系统,主要支撑部门中的应用(部门所有的应用都可以承载在上面)数据存储。下面分阶段来聊一聊存储随着应用逐步的发展过程。

打怪(githug)升级过程

2016-01-05
阅读 3 分钟
3.4k
打怪(githug)升级过程中: githug安装 首先我们需要来安装这个游戏,githug 是用 Ruby 编写的,可通过如下命令安装:gem install githug 如果遇到权限问题,请加上sudo:sudo gem install githug 安装成功后,在 Terminal 里进入你常用的目录,输入githug,会提示游戏目录不存在,是否要创建一个,输入y然后回车: 根据提...