自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Linn

两岸猿声啼不住,轻舟已过万重山。

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

原创 Bean 的生命周期

Bean 实例从创建到最后销毁,需要经过很多过程,执行很多生命周期方法。 Step1:调用无参构造器,创建实例对象。 Step2:调用参数的 setter,为属性注入值。 Step3:若Bean实现了BeanNameAware接口,则会执行接口方法setBeanName(String beanId),使 Bean 类可以获取其在容器中的 id 名称。 Step4:若 Bean 实现了 Bea

2017-07-27 00:11:27 7026

原创 Bean 后处理器

Bean 后处理器是一种特殊的 Bean,容器中所有的 Bean 在初始化时,均会自动执行该类的两个方法。由于该 Bean 是由其它 Bean 自动调用执行,不是程序员手工调用,故此 Bean无须 id 属性。 需要做的是,在 Bean 后处理器类方法中,只要对 Bean 类与 Bean 类中的方法进行判断,就可实现对指定的 Bean 的指定方法进行功能扩展与增强。方法返回的 Bean 对象,即是

2017-07-27 00:05:36 5600 1

原创 容器中 Bean 的作用域

当通过 Spring 容器创建一个 Bean 实例时,不仅可以完成 Bean 的实例化,还可以通过scope 属性,为 Bean 指定特定的作用域。Spring 支持 5 种作用域。 (1)singleton:单态模式。即在整个 Spring 容器中,使用 singleton 定义的 Bean 将是单例的,只有一个实例。默认为单态的。 (2)prototype:原型模式。即每次使用 getBea

2017-07-26 23:58:44 10297

原创 动态工厂 Bean和静态工厂Bean

动态工厂 Bean 有些时候,项目中需要通过工厂类来创建 Bean 实例,而不能像前面例子中似的,直接由 Spring 容器来装配 Bean 实例。使用工厂模式创建 Bean 实例,就会使工厂类与要创建的Bean 类耦合到一起。(1 )将动态工厂 Bean 作为普通 Bean 使用 将动态工厂 Bean 作为普通 Bean 来使用是指,在配置文件中注册过动态工厂 Bean 后,测试类直接通过

2017-07-26 23:54:33 5429

原创 ApplicationContext 接口容器和BeanFactory 接口容器

ApplicationContext 接口容器 ApplicationContext 用于加载 Spring 的配置文件,在程序中充当“容器”的角色。其实现 类有两个。通过 Ctrl +T 查看: A 、配置文件在类路径下 若 Spring 配置文件存放在项目的类路径下,则使用 ClassPathXmlApplicationContext 实现类进行加载。 B 、配置文件在本地目

2017-07-26 23:41:22 25238

原创 HashSet源码解析

HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成。HashSet的源

2017-07-23 17:19:38 4670

原创 HashMap源码解析——get方法

public V get(Object key) { Node<K,V> e; return (e = getNode(hash(key), key)) == null ? null : e.value; }getNode()方法 final Node<K,V> getNode(int hash, Object key) { Node<K,V>

2017-07-23 16:51:44 10264

原创 HashMap源码解析——put方法

public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }先看hash(key)函数。它是通过key的hashCode值计算hash码。//计算hash值的方法 通过键的hashCode来计算static final int hash(Object key) {

2017-07-23 16:39:10 5197

原创 HashMap源码解析——构造方法

上篇博文列取了HashMap的关键属性,本篇主要看构造方法HashMap的几个构造方法: 补充下//加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; //容量 static final int MAXIMUM_CAPACITY = 1 << 30; static final int MIN_TREEIFY_CAPACITY = 6

2017-07-22 22:53:42 2497

原创 HashMap源码解析——关键属性

HashMap类中的一些关键属性:ttransient Node<K,V>[] table;//存储元素的实体数组transient int size;//存放元素的个数int threshold; //临界值 当实际大小超过临界值时,会进行扩容threshold = 加载因子*容量final float loadFactor; //加载因子transient int modCount;

2017-07-22 22:24:34 3135

原创 HashMap源码解析——概述

HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。  值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchro

2017-07-21 09:01:16 10219

原创 使用Eclipse上传/下载Git项目

使用Eclipse上传/下载Git项目 前提:Eclipse已安装EGit插件 已拥有GitLab / GitHub / 其它Git托管服务账号 SSH方式 配置配置Git信息配置用户信息Eclipse,选择菜单:Preferences > Team > Git > Configuration > User Settings > Add Entry..Key: user.name, Va

2017-07-20 08:57:51 6660

原创 Maven Dependencies 不见了

Maven Dependencies 不见了解决办法:1 选中项目 –> 右键 –> Maven –> Disable Maven Nature 此时,右键菜单中将隐藏【Maven】菜单选项2 选中项目 –> 右键 –> Configure –> Convert to Maven project. 3 选中项目–>右键–>Properties–>Deployment Assembly –

2017-07-20 08:49:16 11550

原创 MySQL存储过程和函数的区别

1、总述 存储函数和存储过程统称为存储例程(stored routine)。两者的定义语法很相似,但却是不同的内容。 存储函数限制比较多,比如不能用临时表,只能用表变量。还有一些函数都不可用等等。而存储过程的限制相对就比较少。 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2、返回值上的不同 存储函数将向调用者返回一个且仅返回一个结果值。 存储过程将返回一个或

2017-07-19 12:32:02 6413

原创 MySQL中的while循环和repeat循环的区别

MySQL中的while循环和repeat循环的区别1、while是满足条件才执行循环,repeat是满足条件退出循环;2、while在首次循环执行之前就判断条件,最少执行0次,repeat是在首次执行循环之后才判断条件,循环至少执行一次。

2017-07-19 12:30:13 12571

转载 MySQL时间戳和日期相互转化

MySQL时间戳和日期相互转化1、UNIX_TIMESTAMP():将日期时间转换成时间戳2、FROM_UNIXTIME():将时间戳转换成日期时间 实例:SELECT NOW(),UNIX_TIMESTAMP(NOW()),FROM_UNIXTIME(UNIX_TIMESTAMP(NOW())); 转载于http://blog.csdn.net/you23hai45/article/detail

2017-07-19 12:29:20 11947

原创 MySQL出现“错误1067:进程意外终止”

1、错误描述 2、错误原因 今天,我在摸索如何利用命令查看MySQL日志,查了很多资料,大多数是通过修改my.ini文件配置。我修改了配置后,准备重启mysql服务器,先执行了net stop mysql,发现服务还是没停;于是,我直接到Windows7服务下去停止MySQL服务,停了服务后再次重启,就弹出上述警示窗口3、解决办法 为了解决这个问题,我查阅了大量的资料,总结几点:(1)删

2017-07-19 12:25:54 10401

转载 利用MySQL查询所有数据库表以及表中的记录数

1、问题背景 在一个数据库中,查看所有数据库表;为了测试需要清空数据库所有表,但是不能清空用户表、角色表、权限表和角色权限表。2、命令实现USE information_schema; SELECT table_name, table_rows FROM TABLES WHERE table_schema = 'book' ORDER

2017-07-19 08:57:29 8636

转载 如何利用MySQL语句将自增重置为1

1、问题背景 一张数据库表设置主键id为自增长,表里添加数据后删除了,id还是从之前的值开始增长,而不是从1开始自增长。该如何让id重新从1开始自增2、实现命令(1)利用alterUSE book; DELETE FROM t_books_author; ALTER TABLE t_books_author auto_increment = 1; (2)truncate U

2017-07-19 08:55:22 10435

原创 Could not retrieve transation read-only status server

1、错误描述Caused by: java.sql.SQLException: Could not retrieve transation read-only status server at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996) at com.mysql.jdbc.SQLError.cre

2017-07-19 08:49:39 10805

转载 java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation

1、错误描述严重: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableI

2017-07-19 08:47:58 16802

转载 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value

1、错误描述严重: Servlet.service() for servlet [springmvc] in context with path [/cip] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:

2017-07-19 08:45:46 12316

转载 ORA-01031: 权限不足

1、错误描述ORA-01031: 权限不足 2、错误原因SQL> create user yhd identified by scott account unlock; create user yhd identified by scott account unlock 由于scott是普通用户,没有权限解锁 转载于http://blog.csdn.net/you23hai45/arti

2017-07-18 09:04:24 9692

转载 ORA-00957: 重复的列名

1、错误描述ORA-00957: 重复的列名 2、错误原因SQL> create table info( 2 stu_id varchar2(7) not null, 3 stu_name varchar2(20) not null, 4 stu_age varchar(2) not null, 5 stu_age number(2)

2017-07-18 09:02:17 20815

转载 ORA-00922: 选项缺失或无效

1、错误描述SQL> create table info_stu from select t.stu_id,t.stu_name,t.stu_age from info t; create table info_stu from select t.stu_id,t.stu_name,t.stu_age from info t ORA-00922: 选项缺失或无效2、错误原因 由于用数

2017-07-18 08:59:24 14008

转载 Oracle中的BLOB和CLOB字段类型的区别

Oracle中的BLOB和CLOB字段类型的区别1、BLOB是按二进制来存储的,而CLOB是可以直接存储文字的;2、BLOB字段可以存储图片、文件和音乐等,而CLOB可以存储文章或较长文字的内容。 转载于http://blog.csdn.net/you23hai45/article/details/50734371

2017-07-18 08:56:57 11703

转载 React生成有序列表

1、问题背景 利用React生成有序列表,并按照有序排列2、实现源码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>React之有序列表</title> <script type="text/javascript" src="../js/react.j

2017-07-17 23:03:04 10898

转载 React生成无序列表

1、问题背景 利用React生成无序列表,列表展示的是一年四季2、实现源码[html] view plain copy print?<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>React之无序列表</title> <script type="te

2017-07-17 23:00:46 10657

转载 Flex配置文件-messaging-config.xml

<?xml version="1.0" encoding="UTF-8"?> <service id="message-service" class="flex.messaging.services.MessageService"> <adapters> <adapter-definition id="actionscript" class="flex

2017-07-17 22:54:13 10512

转载 MongoDB基本介绍及一些用法

摘要:面向文档的数据库MongoDB可以满足海量存储需求,越来越受到业界的重视。本文简单的介绍MongoDB的一些用法。   满足海量存储需求和访问的面向文档的数据库:MongoDB,CouchDB   MongoDB   Nice, I like it very much.   面向文档的非关系数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能。Mon

2017-07-17 20:19:14 12762

转载 白话MongoDB(三)

通过源代码编译安装好MongoDB之后,接下来需要配置运行。在MongoDB的安装目录,有几个子目录,bin下面是可执行文件,包括: mongod:数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行 mongo:客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法 mongodump/mongorestore:将数据导入为bs

2017-07-17 08:55:34 9145

转载 白话MongoDB(二)

前面扯了一堆,要了解一个东西,最好的办法,还是让他跑起来,然后结合文档和测试,来验证其实现,并且了解其不足和优点。   MongoDB提供了部分系统的编译版本,但从研究学习以及线上不同依赖包的稳定性的目标,个人还是比较推荐从源代码编译安装的方式。MongoDB的源代码依赖了一些基础组件,如js引擎Spider Monkey,正则表达式引擎PCRE,安装构建工具Scons,以及C++的boost库等

2017-07-17 08:54:30 9920

转载 白话MongoDB(一)

按照官方的说法,MongoDB是一种可扩展的高性能的开源的面向文档(document-oriented )的数据库,采用C++开发。注意mongo不是mango(芒果),这个词是从humongous中截取出来的,其野心不言而明,直指海量数据存储。和其他很多NoSQL不太一样,MongoDB背后有一个专门的商业公司在提供支持和推广,有点类似MySQL AB的模式。这一系列文章,是为入门者写的,已经对N

2017-07-17 08:52:51 11505

转载 解析XML的方法

解析XML的方法1、DOM生成和解析XML2、SAX生成和解析XML3、DOM4J生成和解析XML4、JDOM生成和解析XML原文链接http://blog.csdn.net/you23hai45/article/details/38025795

2017-07-17 08:44:33 8418

转载 mongoDB——安装及启动

WINDOWS环境下: 一、安装 步骤一: 下载MongoDB url下载地址: http://downloads.MongoDB.org/win32/步骤二: 设置mongodb程序存放目录 例如,将其解压到 c:\,再重命名为mongo,路径为c:\mongo。步骤三: 设置数据文件设置存放目录 例如,在c:盘建一个db文件夹,路径c:\db 步骤四: 启动MongoD

2017-07-17 08:39:25 9874

原创 排序算法——简单选择排序

选择排序基本思想 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 对数组{ 8, 5, 2, 6, 9, 3, 1, 4, 0, 7 }排序。 选择排序是不稳定的排序算法,在一趟选择,如果一个元素比当前元素小,而该小的元素又出现

2017-07-13 00:37:06 10050

原创 对象的内存布局及访问原理

天天面向对象,四处找对象,了解对象先从对象的内存布局及访问原理开始。对象的内存布局 对象的内存布局如下图所示 HotSpot虚拟机的对象头包括两部分信息:运行时数据和类型指针。 如果对象是一个Java数组,那在对象头中还必须有一块用于记录数组长度的数据,虚拟机可以通过普通Java对象的元数据信息确定Java对象的大小,但是从数组的元数据中无法确定数组的大小。 运行时数据(Mark

2017-07-09 23:19:57 10455

原创 jvm内存分配过程

jvm内存分配过程 1、JVM 会试图为相关Java对象在Eden Space中初始化一块内存区域。 2、当Eden空间足够时,内存申请结束;否则到下一步。 3、JVM试图释放在Eden中所有不活跃的对象(这属于1或更高级的垃圾回收)。释放后若Eden空间仍然不足以放入新对象,则试图将部分Eden中活跃对象放入Survivor区。 4、Survivor区被用来作为Eden及Old的中

2017-07-09 20:32:40 11766

原创 深入理解JVM内存模型

开门见山,jvm内存模型主要包括Java 堆、Java 虚拟机栈、本地方法栈、方法区、程序计数器;下面为各位看官详细解说。JVM的逻辑内存模型图: 先用表格简单比较下,下面再逐一详述。名称特征作用配置参数异常java堆线程共享,生命周期与虚拟机相同,可以不使用连续的内存地址保存对象实例,所有对象实例(包括数组)都要在堆上分配-Xms-Xsx-XmnOutOfMemoryErro

2017-07-07 16:47:28 10531

原创 支持post,get请求(http,https)的HttpClientUtils

支持post,get请求(http,https)的HttpClientUtils 调用不同的接口,受不同协议,以及不同请求方式影响,总结的一个简洁的HttpClientUtils工具类。 转载请注明出处http://blog.csdn.net/jdjh1024 有更好的实现方式以及补充也可联系博主,学无止境,相互切磋。package com.lilin.utils;import java.io

2017-07-06 22:06:17 11801

空空如也

空空如也

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

TA关注的人

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