- 博客(24)
- 资源 (30)
- 收藏
- 关注
翻译 Java中的自动装箱与拆箱
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这些原始类型的值转换成对象,
2015-10-30 15:25:01 500
翻译 java面试:如何破解10大问题
在java异常处理中Throw和Throws有什么区别?你盯着问你问题的人想,我知道这个问题的答案。但是现在你记不清了,然后就会对自己没有准备这个问题而懊恼。幸运的是这只是一个假想的场景,当时间充裕的时候你一定能够回答这个问题。典型的公司雇佣java程序员找的是能够脱离指导手册并能熟练编程的人,面官面试的问题不一定是难题,只不过是引出问题更深层的知识。这篇文中给出了java面试中15个潜在
2015-10-30 13:43:57 702
原创 自定义实现spring式的IOC
这两天想好好学习一下spring,对于spring的东西无非就是一些配置,但是不想只停留在应用的层面。一直以来对spring的内部的运行的原理非常好奇,想着研究一下源码,但是把源码拿过来如大海捞针,实在是无从下手,于是乎,自己综合查了的一些资料实现了spring式的IOC,感觉很有意思。下边把代码贴出来:首先是定义了两个测试用的接口:package com.ioc.dao;public
2015-10-28 13:58:34 1492 4
翻译 依赖注入揭秘
简短的版本:依赖注入意味着给一个对象它的实例变量赋值。稍微长一点的版本,依赖没有注入:类中有一些方法调用时使用的东西,我们叫这是是“依赖”,大多数人称之为“变量”,有时称之为“实例变量”。public class Example { private DatabaseThingie myDatabase; public Example() { myDataba
2015-10-27 12:34:11 450
翻译 spring beans 自动注入的概念
在spring框架中,学习在配置文件中设置bean的依赖是很好的实践,但是spring容器也可以利用bean间的关系实现自动注入,这意味着可以让spring自动通过检测Beanfactory来决定为你的bean输入其他的bean。自动装配可以指定一些类bean并且启用他们,而另一些beans不会被自动装配。自动装配的模式:1、NO:一点也没有自动装配,bean的引用关系引用元素定义2、
2015-10-26 16:11:24 800
翻译 Spring MVC: <context:annotation-config> 和 <context:component-scan>区别
在这篇文章中,我将介绍和标签的区别,将来再使用它们的时候能够清楚的知道你在干什么首先,是用来激活已经在application context中注册的bean。注意,不管你使用那种注册的方式都是可以的,比如使用或者在application-context.xml中定义。第二个区别是是由第一个差异导致的,它确实在context中注册beans,它也在beans内扫描注解并且激活他们,所以做了要
2015-10-26 12:30:08 1913
翻译 java的接口
在稍早前我们讨论了java中的抽象类,抽象类实现了部分抽象,在这篇文章中我们将要讨论实现100%抽象接口,我们将要讨论什么是接口,接口的意义,什么时候使用它。什么是接口呢?接口看看起来像是一个类但是并是不一个类,一个接口可以像类一样有有方法和变量,但是声明在接口中的方法默认是抽象的方法,同样的声明在接口中的变量是public、static和final的,我们将在这篇文中的后边详细的讨论这些
2015-10-25 00:39:43 497
翻译 java中的抽象类和抽象方法
使用关键字abstract定义的类叫做抽象类,在抽象类中可以包含抽象方法也可以不包含抽象方法,这意味着你在抽象类里边可以有具体的方法(有实现体)也可以有抽象方法(没有实现,没有括号,跟着分号)。抽象方法不能被实例化(不能创建抽象类的对象)抽象类的声明:在class前边加上abstract关键字,就使得这个类变成抽象类,看下边的代码:// Declaration using abstra
2015-10-24 23:42:37 860
原创 java equals方法和==操作符的不同
今天突然想到equals和==的区别这个问题,发现也就知道一个是比值一个是比地址的,其他云云就非常模糊,用起来也不是很顺手,趁着周五晚上的时间找了一篇文章,感觉讲的挺好,就把它翻译下来,如下:equals方法和==操作符用来比较两个数字或者是字符串,equals方法的内部是用==来实现比较操作的,包装类重写equals方法1、如果是基本数据类型,这个==操作符,比较他们的值,如果是对象的话
2015-10-24 00:11:49 533
原创 java HashMap的简单实现
package com.other.test;import java.util.HashMap;/** * HashMap的简单实现 * @author txxs * */public class MyOwnHashMap { /** * 取数组的大小为16 */ private static final int SIZE = 16; private Entry ta
2015-10-23 17:01:55 3444
翻译 try-catch-finally块的执行流程
记得前些天看try-catch-finally的东西,在很多博客上看了很多文章,也没有理解的很透彻,今天看到了国外的一个牛人讲的,感觉非常好非常透彻,完全没有云里雾里的感觉,就把它翻译过来。希望能对大家有所帮助,翻译的不好的地方还请大家指正。
2015-10-23 00:02:43 4387
翻译 java 中的try—catch异常处理
什么是try块try块包含可能发生异常的代码块,try块通常要跟着一个catch块,这个catch块处理发生在try块中的异常。一个try块一定要跟着一个catch块或者是一个finally块,或者是两者都包含。try块的语法:try{ //可能包含异常的语句}什么是Catch块一个catch块必须要和try块关联起来,在try块中发生异常后相应的catch块就要执行,
2015-10-22 23:35:14 8828
翻译 java中checked和unchecked 异常处理的例子
有两种类型的异常:一种是checked异常一种是unchecked异常,在这篇文章中我们将利用实例来学习这两种异常,checked的异常和unchecked异常最大的区别就是checked去唱是在编译时检查的而unchecked异常是在运行时检查的。什么是checked异常呢?checked异常在编译时检查,这意味着如果一个方法抛出checked异常,那么它应该使用try-catch块或者
2015-10-22 16:28:42 4664
转载 如何创建不可变(Immutable)的Java类或对象
实现线程安全的Java程序,其中有一条就是可以通过创建不可变的对象来实现!因为不可变的对象默认就是线程安全的,他们一旦创建就不能发生改变!那么如何创建不可变的Java类或者对象呢?follow me,I'll show you ~不可变对象(immutable objects),后面文章我将使用immutable objects来代替不可变对象!那么什么是immutable objects
2015-10-21 22:52:18 731
原创 String、StringBuffer和StringBuilder的异同和用法
String、StringBuffer和StringBuilder之间最大的区别是String是不可变的对象,而StringBuffer和StringBuilder是可变对象。不可变的意思是【不可变的机制和好处】存储在对象中的值是不变的,下一个问题是:“如果对象是不可变的那么当我想改变对象的内容的时候怎么去更改呢?”准确的说更改后的String对象和更改前的String对象并不是同一个对象。假
2015-10-21 21:47:25 1746 2
原创 java 函数返回多个函数值
今天用echarts处理数据,在一个函数里需要返回多个返回值,查了一些资料记录一下:1、数组或者集合,把需要返回的多个数据放在数组里边,然后返回一个数组,在调用端按照存储的位置,取相应的元素即可,缺点是数组里边的元素是同一类型的。2、设置全局变量,通过对全局变量赋值来传递参数,但是全局变量的值较难追踪,风险大3、单独构造一个对象,将需要返回的不同类型的数据封装到对象中,然后在调用处取出
2015-10-19 15:04:25 4989
原创 linux Ubuntu jdk 配置环境变量
首先要下载Ubuntu 对应的jdk的版本,下载地址为http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载之前要先利用sudo uname --m命令查看你的Ubuntu 的版本,我的结果是:也就是64位的,下载jdk时先把版本号对应,下载完成利用tar -zxvf
2015-10-16 22:53:55 729
原创 在linux下执行一个简单的C程序
近来在linux部署了一个系统,想着顺便学习一下linux系统。想想也觉得丢人,作为一个程序员linux的水平还停留在幼儿园的阶段,实在是不应该,今天就编译了一个简单C的hello world程序,在这里记录下来,往后还得多多学习才行。编译单个文件首先 vim hello.c 在hello.c中 按下 i 或者 insert 输入以下内容#include #include int
2015-10-16 14:19:00 22556
原创 简单缓存的实现
import java.util.Map;import java.util.WeakHashMap;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock; public fin
2015-10-01 17:41:49 786
原创 MongoDB聚合整理
db.logs.aggregate({ $project: { event: "$event", date: { $substr: ["$time", 0, 10] } }},{ $match: { event: { $in: [101, 102, 103, 104] } }}
2015-10-01 17:38:48 653
翻译 MongoDB 数据模型设计
一个高效的数据模型能够很好的满足你应用程序的需求。设计一个文档数据结构最关键的考量就是决定是否使用嵌入式还是引用。 1. 内嵌式数据模型 在MongoDB里面,你可以把相关的数据包括在一个单个的结构或者文档下面。这样的数据模式也叫做 “非规范化” 模式,它充分利用了MongoDB的灵活文档格式的功能。以下图为例: 内嵌数据可以让应用程序把相关的数据保存在同一条数据库记录里面。这样一来,应用程
2015-10-01 17:35:03 5160
翻译 数据模型设计
有效的数据模型的设计支持应用的需求,关于你的文档结构的关键考虑就是使用嵌入式的还是使用引用。嵌入式数据模型在MongoDB中,你可以将相关的数据嵌入到一个结构或者文档中,这些模式就是通常所说的“非标准化”的模型,并利用了MongoDB的文档的丰富性,考虑下边这个图:
2015-10-01 17:08:22 834
翻译 每个软件工程师要知道的十件事
这是我在java code geeks上的一篇文章。觉得挺好就翻译下来读一读下边这10大名单收录了我作为IT从业者在过去十八年学到的一些经验。这是非常个人的选择这并不代表软件工程组织的意见。虽然我试着把一些重要的东西放在顶部但是这些列表并没有严格的排名,技术和商业技巧对于年轻的软件工程师很重要,而软件技能对高级软件工程师则是越来越重要。情商基础几乎所有的人都要和很多人合作,在大学毕
2015-10-01 13:24:18 839
Springboot consul 服务提供端和服务发现端
2017-08-17
springboot中的 动态代理的选择测试代码
2017-08-01
springboot mybatis 集成多数据源 两种实现方式
2017-06-30
springMVC+Ehcache+MySQL
2016-11-15
spring aop 自定义缓存实现
2015-12-11
spring简单的缓存
2015-12-09
java装饰模式实例
2015-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人