自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

如烟阁

分享技术核心问题

  • 博客(30)
  • 收藏
  • 关注

原创 static和final的区别和用途

Static 修饰变量:静态变量随着类加载时被完成初始化,内存中只有一个,且JVM也只会为它分配一次内存,所有类共享静态变量。修饰方法:在类加载的时候就存在,不依赖任何实例;static方法必须实现,不能用abstract修饰。修饰代码块:在类加载完之后就会执行代码块中的内容。父类静态代码块->子类静态代码块->父类非静态代码块->父类构造方法->子类非静态代码块...

2018-09-14 16:29:21 405

转载 《java编程思想》第四版 第2 章 一切都是对象 2 . 2 所有对象都必须创建

创建句柄时,我们希望它同一个新对象连接。通常用new 关键字达到这一目的。new 的意思是:“把我变成 这些对象的一种新类型”。所以在上面的例子中,可以说: String s = new String("asdf");它不仅指出“将我变成一个新字串”,也通过提供一个初始字串,指出了“如何生成这个新字串”。 当然,字串(String)并非唯一的类型。Java 配套提供了数量众多的现...

2018-09-14 15:51:20 193

转载 Freemarker如何生成树形导航菜单(递归)

很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。 对于Freemarker 来说,宏就相当于函数,其定义了签名及参数列表。 所以在freemarker页面应这样写:<#macro menuTree menus> <#if menus?? && menus?size gt 0> <#list menus...

2018-08-14 14:13:39 1684

转载 Java中的关键字 transient

先解释下Java中的对象序列化在讨论transient之前,有必要先搞清楚Java中序列化的含义;Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可用于网络传输,一般当我们使用缓存cache(内存空间不够有可能会本地存储到硬盘)或远程调用rpc(网络传输)的时候,经常需要让我们的实体类实现Se...

2018-08-14 14:12:46 127

原创 LinkedList源码分析(基于jdk1.8)

LinkedList源码解析public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.SerializableLinkedList 是一个继承于Abstract...

2018-08-03 16:54:02 104

转载 ArrayList的大小是如何自动增加的?你能分享一下你的代码吗?

这是最有技巧性的的一个问题,大多数人都无法回答。事实上,当有人试图在arraylist中增加一个对象的时候,Java会去检查arraylist,以确保已存在的数组中有足够的容量来存储这个新的对象。如果没有足够容量的话,那么就会新建一个长度更长的数组,旧的数组就会使用Arrays.copyOf方法被复制到新的数组中去,现有的数组引用指向了新的数组。//ArrayList Add方法:publ...

2018-08-02 16:53:32 730

原创 java.util.Collection包之ArrayList源码解读(基于jdk18)

1、ArrayList简介ArrayList属于java.util的类,底层是基于数组实现的,其实就是一个动态数组。继承自AbstractList,AbstractList继承自AbstractCollection,而AbstractCollection继承自Collection。 接下来,将从源码级别解读ArrayList的实现原理。 2、源码/*** 默认数组大小j...

2018-08-02 16:52:10 206

转载 Java 之 Serializable 序列化和反序列化的概念及详细解释

一、序列化和反序列化的概念       把对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;  2) 在网络上传送对象的字节序列。  在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web...

2018-08-02 16:44:28 504

原创 Spring boot freemarker模板路径的几种设置方式

spring boot中使用freemarker模板引擎技术,spring boot中提供了一些默认的配置。默认配置如下所示:本文只探讨freemarker中模板路径的设置方式,其他配置,请注意查看后续文章。# FREEMARKER (FreeMarkerAutoConfiguration)spring.freemarker.allow-request-override=false ...

2017-09-29 09:39:54 40499 4

原创 logback配置详解(含示例源码)

本文主要讲述logback的详细配置首先在pom.xml中引入loback依赖的jar包,代码如下所示: ch.qos.logback logback-classic 1.0.13 ch.qos.logback logback-core 1.0.13 org.slf4j jcl-over-slf4j 1.7.7

2017-09-29 09:37:49 1380

原创 怎么上传新建项目到git上面

1、首先在git空间上面创建一个新项目,项目名称跟需要上传的项目名称一致。2、创建完成后,会生成一个git上面的链接,该链接即为需要下载和上传项目的链接。3、用intellij idea创建一个新项目4、在这一步我们需要下载git上面的新项目到本地(这里需要先安装git客户端)右键在选择git Bash Here,这里填写第二步中的地址,按Enter然后

2017-09-29 09:30:47 1367

转载 Unable to create requested service [org.hibernate.engine.spi.CacheImple

在使用Hibernate4做二级缓存的测试(HashtableCacheProvider)时,会报如下异常:org.hibernate.service.spi.ServiceException: Unable to createrequested service [org.hibernate.engine.spi.CacheImplementor]    atorg.hibernate

2014-08-15 16:34:41 12553

转载 hibernate4整合spring3.1出现java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider

hibernate4整合spring3.1的过程中,发现了java.lang.NoClassDefFoundError:Lorg/hibernate/cache/CacheProvider异常,查了一下相关资料,原来发现hibernate4已经将hibernate3的一些功能改掉了,在hibernate4已经不使用CacheProvider了,所以做了以下修改,原先:  class="or

2014-08-15 14:10:10 493

转载 Hibernate DetachedCriteria学习经验

本文向大家介绍Hibernate DetachedCriteria,可能好多人还不了解,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。Hibernate DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询。针对这种需求,对于分

2014-06-17 10:03:36 656

转载 Hibernate3中DetachedCriteria的使用

使用detachedCriteria时,很多时候需要参考下面的资料:先说排序: detachedCriteria.addOrder(Order.desc(properyName));Criteria對SQL進行封裝,讓開發人員可以用物件的方式來對資料庫進行操作,例如下面的查詢User表格中的所有資料: Criteria criteria = session.createCriteria

2014-06-17 09:59:35 462

转载 使用org.apache.tools.zip实现zip压缩和解压

import java.io.*; import org.apache.tools.zip.*; import java.util.Enumeration; /** *功能:zip压缩、解压(支持中文文件名) *说明:本程序通过使用Apache Ant里提供的zip工具org.apache.tools.zip实现了zip压缩和解压功能. *   解决了由于java.util

2014-03-18 11:02:09 1029

原创 JAVA中Goto和continue、break实现Goto

goto 关键字很早就在程序设计语言中出现。事实上,goto 是汇编语言的程序控制结构的始祖:“若条件 A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多跳转。然而,goto 是在源码的级别跳转的,所以招致了不好的声誉。若程序总是从一个地方跳到另一个地方,还有什么办法能识别代码的流程呢?随着 Edsger Dijkstra 著名的“Got

2013-11-20 15:21:40 60036

原创 造型

“造型”(Cast )的作用是“与一个模型匹配”。在适当的时候,Java 会将一种数据类型自动转换成另一种。例如,假设我们为浮点变量分配一个整数值,计算机会将 int 自动转换成 float 。通过造型,我们可明确设置这种类型的转换,或者在一般没有可能进行的时候强迫它进行。为进行一次造型,要将括号中希望的数据类型(包括所有修改符)置于其他任何值的左侧。下面是一个例子:v

2013-11-20 15:01:27 948

原创 grails将文件插入mongodb数据库

首先建立一个Domain class类。代码如下所示:import com.mongodb.WriteConcernimport org.bson.types.ObjectIdclass FileItem { static mapWith = "mongo" static constraints = { } static mapping = {

2013-11-17 16:36:49 1904

原创 java AES加密解密

def decrypt(byte[] content, String password) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes()));

2013-10-31 17:32:02 918

转载 java程序员修炼之道

今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处···大牛告诉我们应该好好学习与修炼以下知识与技能Java语言学习(对线程(thread),串行化,反射,网络编程,JNI技术,容器(Map,List, Iterator), 类加载器(ClassLoader),输入输出流,垃圾回收机制, 有比

2013-10-31 17:18:54 911

原创 java wrapper把java程序编程windows服务配置

大部分的操作网上都有,我这里做个摘录。下载Wrapperhttp://sourceforge.net/project/showfiles.php?group_id=39428步骤:1、解压缩java service wrapper包,假设目录为:wrapper_home2、建立一个目录比如:D盘server文件夹里面建立bin、conf、logs、lib文件夹。3、将w

2013-10-21 14:04:42 1516

转载 一个合格的程序员应该读过哪些书

编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 To

2013-10-21 13:59:49 1016 1

原创 java 二维码生成和加密base64压码

因为项目中要实现扫描二维码并实现登录,但本人开发的模块是服务器,跟前台传输用到的主要是json对象。所以不能直接传输图片,必须把图片加密成base64压码的形式。首先介绍二维码生成的代码,二维码生成我用到的第三方架包是google的zxing。首先下载所需要的包。本来下载一个包zxing-core-2.0.jar,但发现代码有些类找不到具体包,后来查询才发现还少一个包。此包名为:zxing-1

2013-09-15 10:36:41 8880 2

原创 第一个grails连接mongodb数据的程序。

本练习是采用InterlliJ IDEA开发。首先新建一个Uses项目。grails采用GORM连接mongodb数据库,但开发工具中已经集成好,无需配置。英文开发文档在:http://jkuehn.github.io/gorm-mongodb/可以自己查看,本文只介绍一个连接的小例子,并实现存储一个实体类。首先需要建立连接字符串,只需在Configuration的文件下的Data

2013-09-15 10:20:07 3706

原创 org.codehaus.groovy.grails.cli.support.GrailsStarter错误解决办法

采用interlliJ IDEA开发工具开发grails项目,但是当grails版本从2.2.3升级到2.3.0的时候,启动项目的时候报出org.codehaus.groovy.grails.cli.support.GrailsStarter异常。(注:interlliJ IDEA安装grails2.3.0的时候,首先要升级到最新版本,否则将不支持)百度搜寻解决方法,无果。最后通过google

2013-09-15 10:00:12 6711 1

转载 MongoDB windows安装记录。。。

MongoDB windows安装记录。。。 好吧,我承认这个确实很容易。只是走了些弯路。环境:windows xp sp3  32位1.下载。按照自己电脑下载相应版本额。。看这里:http://www.mongodb.org/downloads打开的有点慢……耐心等待。最新版本2.0.6我这里下载的是“mongodb-win32-i386-2.0.6.zip”

2013-09-11 16:42:06 796

转载 hibernate参数

属性名用途hibernate.dialect一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL.取值 full.classname.of.Dialecthibernate.show_sql输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个log category设

2013-09-08 17:28:48 695

原创 简单工厂模式

没用设计模式,简简单单的一个实现计算机,代码如下:

2013-09-08 17:25:11 444

原创 java从键盘获取数值的三种方法

方法一:从控制台接收一个字符,然后将其打印出来  public static void main(String [] args) throws IOException{  System.out.print(“Enter a Char:”);  char i = (char) System.in.read();  System.out.println(“your char is :”

2013-09-08 17:21:46 3180

空空如也

空空如也

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

TA关注的人

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