
java
bob于
这个作者很懒,什么都没留下…
展开
-
java事务
了解一下java 中的事务1 什么是事务? 通常我们所说的事务是指数据库中的事务(总是认为其与数据库相关),也就是数据库操作过程中的的一系列原子操作(从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行)。事务必须有四个原则:原子性、一致性、隔离性、持久性。 ...原创 2018-03-21 17:02:06 · 850 阅读 · 0 评论 -
Ioc容器装配Bean(2)
注入参数: 在sprintg配置文件中,用户不但可以将string,int 等字面值注入到Bean中,还可以将集合、Map等类型数据注入到Bean中,此外还可以在注入的配置文件中定义其他Bean 引用其他Bean: Spring IoC容器中定义的bean可以相互引用,IoC容器则充当红娘的作用。以下是创建一个新的Boss类原创 2016-06-23 11:38:00 · 372 阅读 · 0 评论 -
简单排序
冒泡排序: 冒泡排序的效率很低,但是概念上是排序算法种最简单的。使用冒泡排序算法对棒球队员排序如下图: public void bubbleSort(){ int out,in; if(nElems<2){ return a;转载 2016-07-09 07:58:53 · 335 阅读 · 0 评论 -
IoC容器配置Bean(3)
之间的关系: 1)继承: 2)依赖: 一般情况下,使用元素来建立对其他的Bean的依赖关系,spring负责管理这些Bean的关系。当实例化一个Bean时,spring保证该Bean所依赖的其他Bean都已经初始化。Spring允许用户使用depends-on属性指定Bean原创 2016-06-23 17:35:05 · 643 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式: 工厂类模式提供的是创建单个类的模式,而创建者模式则是将各种产品集中起来,用来创建复合对象,所谓复合对象就是指某个类具有不同属性,其实建造>者模式就是前面抽象工厂模式和最后的Test接合起来得到的。 public interface Sender{ public void Send(); }原创 2016-08-03 13:52:35 · 321 阅读 · 0 评论 -
设计模式之装饰模式
顾名思义,装饰模式就是给对象添加一些新功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。如上图,Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态添加一些功能,代码如下: public interface Sourceable{ public void method();原创 2016-08-03 15:01:07 · 275 阅读 · 0 评论 -
设计模式之代理模式
其实每个模式的名字就表明了该模式的作用,代理模式就是多一个代理类,替换原对象进行一些操作。关系图如下:代码: public interface Sourceable{ public void method(); } public class Source implements Sourceable{原创 2016-08-03 15:16:06 · 434 阅读 · 0 评论 -
java基本类型的默认值和取值范围
默认值 存储需求(字节) 取值范围 示例 byte 0 1 -2^7—2^7-1 byte b=10;char ‘ \u0000′ 2 0—2^16-1 char c=’c’ ;原创 2016-08-04 08:22:09 · 649 阅读 · 0 评论 -
java基础知识
内部类其是和类的属性没有什么区别,只是在声明的时候必须是Outer.Inner a,就像是int a一样,至于静态内部类和非静态内部类new 的时候有点区别。outer.inner a= new Outer().new Inner()(非静态,先有Outer对象才能有属性) Outer.Inner a=new Outer.Inner()要把Outer.Inner看成一部分,就像类变量一样。Se原创 2016-08-02 13:30:12 · 428 阅读 · 0 评论 -
类加载过程
类加载过程: 类加载的全过程:加载、验证、准备、解析、初始化这5个过程。 加载:在加载阶段虚拟机需要完成以下3件事: 1)通过一个类的全限定名来获取定义此类的二进制字节流 2)将这个字节流所代表的静态存储结构转化为方法区的运行时结构 3)在java堆原创 2016-07-08 16:03:46 · 2301 阅读 · 0 评论 -
垃圾收集器与内存分配策略
垃圾收集器: 如果说垃圾收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。对各种收集器进行比较并不是为了挑选出一个最好的收集器来而是为了对>具体应用选择最合适的收集器。收集器可以搭配使用。 Serial收集器: serial收集器是最基本的、最古老的收集器,曾经是新生代收集的唯一选择。是一个单线程收集器。不仅原创 2016-07-08 15:27:00 · 347 阅读 · 0 评论 -
Java类加载机制
1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java转载 2016-06-22 14:04:20 · 317 阅读 · 0 评论 -
java反射机制
1. ji什么是Java的反射? 要让Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。Java的反射机制是在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用的是在编译期并不知道的类。这样的编译特点就是java反射。转载 2016-06-22 14:11:51 · 282 阅读 · 0 评论 -
Java内存区域与内存溢出异常
java虚拟机在执行java程序的过程中会吧它所管理的内存划分为若干个不同的数据区:程序计数器、虚拟机栈、本地方法栈、方法区、堆。 程序计数器:程序计数器是一块较小的内存区,作用是看做当前线程所执行的字节码的行号指示器。在虚拟机中,字节码解释器工作时通过改变这个计数器>的值来选取下一条所需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数原创 2016-07-08 09:31:26 · 519 阅读 · 0 评论 -
Spring IoC容器
IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”,还有些书籍翻译成为“控制反向”或者“控制倒置”。简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。IOC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦. 软件系统中耦合的对转载 2016-06-22 17:33:48 · 353 阅读 · 0 评论 -
BeanFactory 和ApplicationContext
Bean 工厂(com.springframework.beans.factory.BeanFactory)是Spring 框架最核心的接口,它提供了高级IoC 的配置机制。应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory 基础之上。几乎所有的应用场合我们都直接使用ApplicationContext 而非底层的原创 2016-06-22 18:12:29 · 682 阅读 · 0 评论 -
Spring 配置文件详解
Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。转载 2016-06-22 18:21:19 · 409 阅读 · 0 评论 -
垃圾收集算法
堆中存放着几乎java世界中所有的对象实例,垃圾收集器在对堆进行回收之前,第一件事就是要确定这些对象有哪些还“存活”着,哪些已经“死去”。 引用计数算法:引用计数法是最基本的方法:给对象中添加一个引用计数器,每一个地方引用它时,计数器就加1;当引用失效时,计数器的值就减1;任何>时刻计数器为0的对象就是不可能再被使用的。但是!它很难解决对象之间的相互引用问题。所以虚拟机并不是通过原创 2016-07-08 10:43:42 · 1291 阅读 · 0 评论 -
IoC容器中装配Bean
Bean的基本配置 spring IoC容器根据XML配置文件中定义的Bean创建Bean的实例。 Bean的命名: 配置一个Bean时,需要为其指定一个id属性作为Bean的名称,id在IoC容器中必须是唯一的,此外id的命名要符合命名规范,例如: 用户可以用g原创 2016-06-22 22:25:13 · 545 阅读 · 0 评论 -
TCP协议与UDP协议的区别
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,转载 2016-08-05 08:18:01 · 968 阅读 · 0 评论 -
基于@Aspect的AOP
@AspectJ使用注解来描述切点和增强 Spring在处理@AspectJ注释表达式的时候,需要将asm模块添加到类路径中。asm是轻量级的字节码处理框架,因为java的反射机制无法获取入参名,Spring就使用asm来处理入参名。 此外spring采用AspectJ提供的@AspectJ注释类库以及相应的解析类库,将ivy-cache/repositor原创 2016-08-05 10:12:31 · 382 阅读 · 0 评论 -
Java异常
异常结构如下所示:我们直入重点: 1)异常和错误的区别是什么? 异常能够被本身处理,错误是无法处理的 2)异常包括可查异常和不可查异常: 可查异常: 正确的程序在运行中,很容易出现清理可容的异常情况;除去RuntimeExcept原创 2016-09-12 17:43:10 · 314 阅读 · 0 评论 -
深入理解内部类
(一)内部类基础 在java中,广泛意义上的内部类一般来说包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 1> 成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形式如下: public class Circle{ d原创 2016-09-12 20:24:27 · 732 阅读 · 0 评论 -
struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Serv转载 2016-09-02 10:39:46 · 585 阅读 · 0 评论 -
由浅入深探究mysql索引结构原理、性能分析与优化
摘要:第一部分:基础知识第二部分:MYISAM和INNODB索引结构1、 简单介绍B-tree B+ tree树2、 MyisAM索引结构3、 Annode索引结构4、 MyisAM索引与InnoDB索引相比较第三部分:MYSQL优化1、表数据类型选择2、sql语句优化(1) 最左前缀原则转载 2016-09-15 12:29:13 · 655 阅读 · 0 评论 -
TreeMap
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点: 1、红黑树的基本概念。 2、红黑树增加节点、删除节点的实现过程。 3、红黑树左旋转、右转载 2016-09-28 16:21:58 · 529 阅读 · 2 评论 -
java虚拟机运行时数据区
了解java内存区域首先看一下java虚拟机运行时数据区,如下图所示:我们首先了解一下java虚拟机运行时数据区各部分的存储信息和运行信息. 1,程序计数器 程序计数器也被叫做字节码行号指示器,它是在JVM中仅占一片较小的内存区,如名,它的主要作用就是指向当前运行线程的下一条运行字节码指令.我们知道java虚拟机是可以多线程运行的,但原创 2016-11-17 18:03:32 · 490 阅读 · 0 评论 -
spring DefaultListableBeanFactory 概述
有人说,DefaultListableBeanFactory是spring的发动机,其实重要性不为过。TA的整体类图如下: 这里先概述接口部分: BeanFactory是Spring的最根的接口,类的工厂接口。HierarchicalBeanFactory接口是在继承BeanFactory的基础上,实现BeanFactory的父子关系。转载 2017-02-22 20:01:56 · 1272 阅读 · 0 评论 -
Spring 容器加载相关类图
我们知道使用XmlBeanFactory来实现Spring IOC容器。而XmlBeanFactory有两个最核心的类:1: DefaultListableBeanFactory(是Spring注册及加载Bean的默认实现)2: XmlBeanDefinationReader(是XML文件的读取和注册也就是:资源文件的读取、解析和注册)对于DefaultListableBeanFact原创 2017-02-22 21:04:28 · 2482 阅读 · 2 评论 -
classloader
一 什么是classloader 我们知道我们写好java程序后,都是由若干个.class文件组成的完整的java应用程序,当程序运行的时候,并不是一次性加载所有的.class文件,而是动态加载.也就是后,从一个class文件中调用另一个class文件中的方法,如果另一个文件不存在,那么就要根据需要,通过java的类加载机制来动态加载所需要的class文件,从而>只有加载到jvm原创 2016-09-12 16:39:57 · 432 阅读 · 0 评论 -
HashMap实现原理分析
转自:Alpha's 学习笔记HashMap实现原理分析标签: HashMap 2013-11-05 15:23 121192人阅读 评论(60)收藏举报分类: 【Java SE】(32) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]1. HashMap的数据转载 2016-09-12 08:05:48 · 313 阅读 · 0 评论 -
java死锁详解
进程死锁及解决办法: 一:死锁的概念: 死锁是进程死锁的简称 什么是死锁: 死锁是指多个进程循环等待他方占有的资源而无限的僵持下去的局面。很显然,没有外力作用,那么死锁涉及到的各个进程都将永远处于>封锁状态。计算机系统产生死锁的根本原因就是资源有限且操作不当。即为转载 2016-08-02 13:09:06 · 2766 阅读 · 0 评论 -
翻转字符串顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。public class Solution{ public String ReverseString(String str){ if(str==null) return ""; char[] c原创 2016-08-02 16:52:28 · 374 阅读 · 0 评论 -
左旋转字符串
把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。public class Solution{ public String ReverseChildString(String str,int start,int end){ if(str.length<2){原创 2016-08-02 17:09:45 · 293 阅读 · 0 评论 -
设计模式之工厂模式
工厂方法模式分为三种: 工厂方法模式: 1,普通工厂模式,就是建立了一个工厂类,对实现了同一接口的一些类进行实例的创建。 举例: 接口: public interface Sender{ public void Send();原创 2016-08-03 12:53:24 · 302 阅读 · 0 评论 -
单例模式
单例模式: 单例对象是一种常见的设计模式。在java中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1,某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销 2,省去了new操作,降低了系统内存的使用频率,减轻了GC压力 3,有些类如交易所的核心交易引擎,控制着交易原创 2016-08-03 13:39:49 · 256 阅读 · 0 评论 -
Hibernate的10个常见面试问题及答案
Hibernate中的命名SQL查询指的是什么? Hibernate的这个面试问题同Hibernate提供的查询功能相关。命名查询指的是用标签在影射文档中定义的SQL查询,可以通过使用Session.getNamedQuery()方法对它进行调用。命名查询使你可以使用你所指定的一个名字拿到某个特定的查询。 Hibernate中的命名查询可以使用注解来定义,也可以使用我前面提到的xml影射问句来定义转载 2016-08-18 10:15:27 · 5235 阅读 · 1 评论 -
Struts框架面试题
1. 简述Struts框架的初始化流程。答案:对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控制器ActionServletActionServlet从struts-config.xml文件中读取配置信息,把它们存放到ActionMappings对象中。在Struts framework中, Controller主要是ActionServl转载 2016-08-18 10:19:02 · 4792 阅读 · 0 评论 -
Java魔法堂:类加载器入了个门
转自:Java魔法堂Java魔法堂:类加载器入了个门一、前言 《Java魔法堂:类加载机制入了个门》中提及整个类加载流程中只有加载阶段作为码农的我们可以入手干预,其余均由JVM处理。本文将记录加载阶段的核心组件——类加载器的相关信息,以便日后查阅。若有纰漏请大家指正,谢谢。 注意:以下内容基于JDK7和HotS转载 2016-09-12 07:53:40 · 744 阅读 · 0 评论 -
java集合
什么是java集合? java集合是一系列泛型接口,描述最常见的数据类型格式。java为每一种典型的数据结构都提供了多种实现方式,而且这些类型都是用接口实现的。 java集合定义了两种基本的数据结构,一种是Collection,表示一组对象的集合。另一种是Map,表示对象之间的一系列映射或关联关系。Collection接口: Colle原创 2016-06-22 13:03:45 · 288 阅读 · 0 评论