自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青鱼的博客

博主菜鸟如有错误请指正,谢谢

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 Session生命周期

Session生命周期Session存储在服务器端,一般放置在服务器的内存中(为了高速存取),Session在用户第一次访问服务器时创建,需要注意只有访问jsp,Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。 Session什么时候失效:1.服

2017-08-04 21:16:13 303

原创 Struts1和Struts2的区别和对比:

Action 类:  • Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口。  • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何

2017-08-02 16:46:55 237

原创 java对象生命周期,以及对象访问。

生命周期:1.创建阶段(Created)2.应用阶段(In Use):一旦对象被创建,并被分派给某些变量赋值,这个对象的状态就切换到了应用阶段3.不可见阶段(Invisible):例如在for里面定义的i ,for循环break了就不能访问i4.不可达阶段(Unreachable):对象处于不可达阶段是指该对象不再被任何强引用所持有5.收集阶段(collected):当垃圾回收

2017-07-31 19:50:47 350

原创 java内存管理原理

在java中,分为java程序,虚拟机,操作系统三个部分,java程序与虚拟机交互,虚拟机与操作系统交互,这就保证了java的平台无关性,三者运行原理是:1.程序运行前:java虚拟机向操作系统请求一定的内存空间,作为初始内存空间;之后程序运行中所需的内存都是从这块内存空间划分的2.程序运行中:java程序一直向虚拟机申请内存,当程序所需的内存空间超过初始内存空间时,java虚拟机会再次向

2017-07-31 16:03:46 681 1

原创 内部类详解

1.为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响1.1.使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特性:(1)、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独。(2)、在单个外围类中,

2017-07-17 17:26:29 231

原创 volatile理解与使用

对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的例如假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值在线程1堆count进行修改之后,会write到主内存中,主内存中的count变量就会变为6线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存cou

2017-06-05 10:35:09 172

原创 atomicinteger用法

AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。测试代码如下:package exam17;import java.util.Scanner;import java.util.concurre

2017-06-05 10:13:52 595

原创 Java异常类的继承关系图

2017-05-10 09:52:28 10477

转载 String类的概述及常见方法使用

一.概述:我们平时上网发帖,帖子的标题、内容,QQ的聊天内容都是字符串。因为很常用,编程语言常常会把字符串封装成一类,实现方法,添加功能,以方便我们编程时的日常操作。Java中将字符串封装成java.lang包下的String类。查看javaapi,我们发现string是final所修饰的。代表着string这个类不能有子类。(也就是指类中对字符串操作的功能是不能被我们复写

2017-05-10 00:22:06 486

转载 进制转换

十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.va

2017-05-10 00:18:23 152

原创 堆内存与栈内存

当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁。因此,所有在方法中定义的局部变量都是放在栈内存中的;在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可以被另

2017-05-04 17:10:47 162

原创 springmvc异常处理

1.异常处理思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试的手段减少运行时异常的发生。系统的dao、service、controller出现异常都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图:

2017-05-04 10:01:42 212

原创 事务的四大特性

1.一致性:将事务中所做的操作捆绑成一个院子单元,即对于事务所进行的数据修改等操作,要么全部执行,要么全不执行。2.原子性:事务在完成时,必须使所有的数据都保持一致状态,而且在相关数据中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构都应该是正确的。3.隔离性:由并发事务所做的修改必须与任何其他事务所做的修改相隔离。事务查看数据时数据所处的状态,

2017-05-03 17:27:24 379

原创 数据回显

数据回显 1.什么是数据回显提交表单后,如果出现错误,将刚才提交的数据回显到刚才提交的页面2.pojo数据回显方法2.1springmvc默认对pojo的数据进行回显pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)2.2使用@ModelAttribute指定pojo回显到页面在re

2017-04-29 17:17:46 14271

原创 Mybatis开发dao的方法

1.SqlSession使用范围1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder。在需要创建SqlSessionFactory时候,只需

2017-04-10 15:00:04 461

原创 Mybatis与Hibernate区别

hibernate:是一个标准的ORM框架(对象关系映射)。入门门槛较高,不需要写sql,sql语句自动生成,对sql语句进行优化、修改比较困难。应用场景:适用需求变化不多的中小型项目,比如:后台管理系统,erp,orm,oa等mybatis:专注sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全的ORM框架,虽然程序员自己写sql,my

2017-04-10 14:46:34 17876

转载 String,StringBuffer与StringBuilder的区别?

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常

2017-04-05 10:45:41 184

转载 containsKey方法——判断是否包含指定的键名

containsKey方法用来判断Map集合对象中是否包含指定的键名。语法  boolean containsKey(Object key) 返回值:如果Map集合中包含指定的键名,则返回true;否则返回false。参数:key是要查询的Map集合的键名对象。示例  本示例首先使用HashMap类创建Map集合对象,并向集合中添加几个元素,然后调用cont

2017-04-05 09:57:34 5074

转载 split("\\s+") 和 split(" +") 有什么区别?

"hello world, this is Al".split("\\s+")首先要明白split方法的参数含义:splitpublic String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。 然后就要明确正则表达式的含义了:\\s表示 空格,回车,换行等空白符, +号表示一个或多个的意思,所以...

2017-04-05 09:31:35 2243

visual c++课后习题答案

有关可视化编程的习题的部分答案,比较不错哦

2014-06-08

空空如也

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

TA关注的人

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