- 博客(109)
- 资源 (8)
- 收藏
- 关注
原创 【数据库】——隔离级别和传播行为
一直以来对数据库的隔离级别和传播行为都有些迷糊,特此总结一下。一、隔离级别:数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。1. ISOLATION_READ_UNCOMMITTED(未提交读):这是事务
2017-08-31 20:16:31
743
7
原创 Jboss与Tomcat的区别
一、tomcatTomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Ser
2017-08-27 21:19:56
1239
4
原创 【JVM】——内存模型
(一)总体架构图(二)简介程序计数器:当前线程执行的字节码的行号指示器。线程私有。java虚拟机栈:线程私有。虚拟机栈描述的是虚拟机执行Java方法执行的内存模型:每个方法被执行的时会同时创建一个栈帧(Stack Frame ①)用于存储局部变量表、操作栈、动态链接、方法出口等信息。局部变量表:存放编译期可知的基本数据类型(boolean、byte、char
2017-08-06 20:38:29
382
3
原创 jar、war、ear包的作用和区别
在开发中,我们常常看到jar包,war包和ear,那么这三种究竟有什么区别和联系呢?我们来看一下。1.jar包 Java Archive。 包含:class、properties文件,是文件封装的最小单元。打包的主要是Java类的普通库、资源、辅助文件(auxiliary files)等。 部署文件:application-client.xml文件。 服务器:应用服务器
2017-07-31 10:36:21
6767
18
原创 【数据库】——mysql锁机制
(一)引言 MySQL引擎默认的锁级别:MyISAM和MEMORY采用表级锁(table-level locking)。 BDB采用页面锁(p
2017-07-28 17:01:25
589
47
原创 【数据库】——事务ACID及隔离级别
(一)概念事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。(二)ACID特性如果一个数据库支持事务操作,那么他具有以下四种特性:⑴ 原子性(Atomicity) 原子性是指事务
2017-07-28 16:47:46
509
20
原创 HttpClient实现远程调用
在项目中,我们常常遇到远程调用的问题,一个模块总是无法单独存在,总需要调用第三方或者其他模块的接口。这里我们就涉及到了远程调用。 原来在 ITOO中,我们是通过使用EJB来实现远程调用的。下面介绍一下我在公司接触到的HttpClient实现方法。
2017-07-27 21:31:13
3027
24
原创 【Cas】(一)cas实现SSO简单介绍
(一)什么是SSO Single Sign On,SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。 解决了用户只需要登录一次就可以访问所有相互信任的应用系统,而不用重复登录。 用8个字形容SSO,就是“一处登陆,处处穿梭”。(二
2017-06-30 19:49:13
515
12
原创 【Shiro】(一)Shiro初了解
在ITOO里面登录用到了Shrio,一直没有好好的理解和学习,下面我们就来看一下Shiro到底是什么东西。(一)Shiro介绍 shiro是apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权。没有使用Shiro之前,我们的用户登陆和授权,都是自己敲代码写后台实现,Shiro框架就封装对用户认证和授权进行了封装,减少了我们的代码编写。使用shiro实现系统 的权
2017-06-30 19:38:08
670
14
原创 【EJB】(二)EJB的三种Bean
上篇博客,我们对EJB进行了简单的介绍,这篇博客我们来简单介绍一下EJB的三种Bean。一、Session Bean 会话Bean,实现会话中的业务逻辑,每当客户发出一个请求,容器会选择一个Session Bean来为客户端服务,客户端通过调用Session Bean的方法来访问数据库。 Session分为有状态Bean和无状态Bean。我们最常用的是无状态Be
2017-06-29 20:24:15
944
16
原创 【EJB】(一)EJB初了解
我们都知道EJB是JavaEE的规范之一,下面我们就来了解一下EJB到底是什么东西。百度百科的解释: EJB(Enterprise Java Beans)是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。比较通俗的解
2017-06-29 19:43:44
646
17
原创 【Java基础】——异常处理
不管是在Java还是其他开发语言中,异常处理都是非常重要的部分。异常处理大大提高了我们代码的健壮性。下面我们就来学习一下Java中的异常处理机制。一、异常的定义及分类定义:我们的java程序也是会存在某些不正常 的情况的,这些不正常的 情况我们就统称异常。
2017-05-31 21:26:32
2733
18
原创 【Java基础】——接口和抽象类
学习Java,接口和抽象类是我们面向对象学习中不可避免的。我们也发现了他们有些许的相似。下面我们就来学习一下接口和抽象类。一、抽象类我们从面向过程走向了面向对象,说的最多的就是“对象”和“类”。类是类是对现实生活中一类具有共同特征的事物的抽象。所有的对象都是类的实例。那么什么是抽象类呢?如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。
2017-05-31 10:57:35
505
13
原创 SpringMVC与Struts对比
目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较:1. 核心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求 (控制器)统一的进行处理(字符编码、文件上传、参数接受
2017-05-29 10:07:00
592
9
原创 【工作点滴】——thumbnailator实现图片的压缩和裁切
我们在工作中常常会遇到图片处理的功能。有很多的工具类都可以实现。今天给大家推荐一个特别简单好用的类——Thumbnailator。Thumbnailator是一个优秀的图片处理的开源Java类库,用起来十分简单。下面跟大家介绍一下他的使用方法。一、引jar包1. jar包下载地址2. maven引入jar包 net.coobird thumbnail
2017-05-02 16:33:10
4667
10
原创 【工作点滴】——前后端分离架构初接触
前后端分离的优点划分清楚前后端职责后端专注于:服务层数据格式、数据稳定业务逻辑前端专注于:UI层控制逻辑、渲染逻辑交互、用户体验对前端发挥的局限我们在对项目进行优化时候,其实前端给我们的优化空间有,但是很小,很多优化都是要在后端来进行的,而我们后台框架的限制,导致赋予我们前端的后端优化空间太小,几乎可以说没有,这样,很多优
2017-04-30 19:56:42
793
14
原创 nginx的反向代理与负载均衡
nginx的安装这里就不多介绍了。直接进入正题。(一)反向代理 正向代理看到反向代理,你肯定会问,什么是正向代理?正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。反向代
2017-04-29 21:27:45
460
原创 【Spring】(二)使用Spring进行事务管理的几种方式
Spring既是SSH中的一员,也是SSM中的一员。不管是在SSH,还是在SSM中,Spring都起到了十分重要的“管理”作用,不论是对action的管理,还是对Controller的管理。Spring的IOC帮助我们的开发更加的高效更加的简洁。另外,Spring对于事务的管理也是非常重要的,今天我们就来看一下Spring对于事务的管理都有哪些吧。
2017-04-29 20:59:10
1248
1
原创 【工作点滴】——网页测试利器Postman
以前做的项目都是前台后台一起开发的,这几天在北京工作,公司的项目是前后端分离的。这样,我们怎么测试Controller呢,貌似在外面大家更喜欢称呼Controller为API。这里给大家推荐一款测试Controller的利器——PostMan。(一)简介 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。当开发人员需要调试一个网页是否运行正常,并不是简简单
2017-04-22 22:28:40
1151
28
原创 【struts2】(二)值栈
(一)理解值栈 struts2封装了很多东西,大大的简化了我们的代码。今天我们来看一下struts2是如何存取数据的。 在使用过程中,我们一般在页面发送一个请求去访问action类,这是会自动创建一个值栈。在使用过程中,我们一般在Action类中查出数据,然后返回到页面上。struts中利用值栈来存储这些数据。 在struts2中,把数据放到
2017-03-31 20:57:13
465
2
原创 【SSH】(一)三大框架整合
前面几篇博客,我们已经对Struts、Spring和Hibernate进行了逐个的简单学习。在实际开发过程之后,他们强强联合,我们就来看一下这三大框架是如何整合的。(一)整合思想在Java web 项目中,我们通常采用三层架构:web层,service层,dao层。在SSH框架之后,web层使用Struts,service层采用Spring,dao层采用hibernate。
2017-03-26 19:41:13
1323
43
原创 【Hibernate】(一)入门及原理
简介Hibernate是一个开源的轻量级的框架。没有Hibernate之前,我们是直接使用sql语句对数据库进行操作。直接对数据库操作,已经不符合我们面向对象的思想了。于是ORM就应运而生了。什么是ORM?Object Relational Mapping。对象关系映射。就是让实体类和数据库表进行一一对应,实体类里面的属性和数据库表里的字段对应,我们不需要直接操作数据库,而通过操作表对应的
2017-03-19 20:05:19
496
14
原创 【Spring】(一)Spring入门及原理
简介:Spring是一个轻量级的框架。IOC和AOP是Spring的两大核心,我们会在后面介绍到。一、导入jar包。二、创建Sping的核心配置文件——applicationContext.xml。Spring的核心配置文件名称和位置都可以不固定,建议大家建立在src文件下面。三、在web.xml中添加Spring的核心监听器。目的是为了服务器启动时,为每个项目创建一个ServletC
2017-03-12 21:29:47
1050
19
原创 【Mybatis】(五)一级缓存和二级缓存
对于缓存这个概念,我们大都不陌生吧。缓存提高了我们的查询效率,很大程度上减轻了数据压力,提高了数据库性能。Mybatis是一个持久层的框架,它本身提供了一级缓存和二级缓存,下面让我们来学习一下。一、一级缓存 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之
2017-02-28 14:53:37
841
38
原创 【Mybatis】(四)详解SqlMapConfig.xml文件
学习一个框架,最难理解的莫过于他的配置文件了。框架里面好多东西都是固定的,不需要我们记忆,也可能我们都不理解。很多东西,我们只是会用而不知其意,会写而不解起因。今天我们就来学习一下Mybatis的全局配置文件——SqlMapConfig.xml。这是一个空的SqlMapConfig.xml,我已经添加了约束。<!DOCTYPE configurationPUBLIC "-//mybat
2017-02-27 21:35:14
1073
8
原创 【Mybatis】(三)动态SQL
接触Mybatis这么长时间,感觉用起来还是比Hibernate简单多了。之前,我们需要写很多的sql语句,逻辑复杂一点,你就会体会到拼接sql语句是一件多么痛苦的事情。而且,我们有时候,我们需要在sql语句中进行一定的判断,再进行相应的查询。这时,动态SQL就应运而出。Mybatis的特性之一便是他的动态SQL,通过动态SQL我们可以对sql语句进行非常灵活的操作,通过表达式判断,对sql语
2017-02-27 21:20:18
675
11
原创 【Mybatis】(二)Mybatis开发Dao对比学习
上一篇,我们讲解了Mybatis简单的一条线,今天我们来讲解一下,在实际中我们是如何使用Mybatis开发Dao的。(一)使用原始Dao开发方法在上一篇的博客中,我们把所有的逻辑都写在了test方法里。现在我们有了Dao,看看我们要怎么开发吧。我们首先要创建一个Dao接口和Dao实现类,还是拿User表来说吧我们首先要创建一个UserDao接口:public interface
2017-02-18 21:22:54
527
6
原创 【struts2】(一)入门伊始
之前网上商城的时候我用的是SSH框架。在那里,我们第一次接触到了struts2,下面就让我们来系统学习一下。 对于框架的概念一直没能理解的很透彻。框架就是一个模板,框架的作用是为了替程序员完成一部分代码,从而提高我们的开发效率。structs2是又structs1和webwork整合而来,是apache旗下一个免费,开源的框架。下面我们说一下struts2项目的搭建步骤。
2017-01-23 18:58:20
511
11
原创 【DRP】——Cookie和Session
对于Cookie和Session算是我们的老朋友了,在项目中一直在用,但是所谓会用你就了解了吗?非也非也。下面让我们来一起揭开他们的面纱吧。(一)Cookie (二)Session(三)对比
2017-01-22 20:30:10
403
12
原创 算法之选择排序(2)——堆排序
上一篇博客,我们讲到了选择排序的简单选择排序,这篇博客,我们就来讲一下选择排序的另外一种排序——堆排序。(一)堆 那么堆是什么呢?堆其实是一棵顺序存储的完全二叉树。堆一般采用数组来进行存储。堆分为最大堆和最小堆。 每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为最小堆。 每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为最大堆。(二)堆排
2016-12-30 11:07:23
447
27
原创 算法之选择排序(1)——简单选择排序
上两篇博客我们讲过了插入排序和交换排序,这篇博客我们就来讲解一下算法的另一大分类——选择排序。 选择排序的基本思想是:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 选择排序可以分为直接选择排序和堆排序。 咱们今天先说一下简单选择排序。它的基本流程是这样的:(1)从待排序序列中,找到关键字最小的元素。(2)如果第一
2016-12-28 19:59:57
725
27
原创 忆往昔,峥嵘岁月稠
盼望着盼望着,研究生考试结束了,虽然对于这次考试只准备了3个月,但是这漫长的3个月对于我们来说确实快乐和折磨并存的。隐约记得是10月的一天,我们便开始了研究生的征战之旅。一、走过的路。 10月份的研究生动员大会之后,我们便着手准备考研了。还是3遍看书法的安排。10月下旬有场自考,数据结构和C++,正好和北理工研究生的专业课重合。一开始研究生准备起来,压力也没有很大。英语,几乎是每天都会
2016-12-28 16:43:03
1557
35
原创 算法之交换排序
上篇博客我们讲解了算法的插入排序,这篇博客,我们就来说一下交换排序。 交换排序,顾名思义,就是比较两个记录的键值大小,逆序则交换两个记录的位置。这样键值小的记录向前移动,键值大的记录向序列后部移动。下面我们来说一下交换排序中的冒泡排序和快速排序。(一)冒泡排序 因每趟都有一个最大键值的记录沉到序列底部,与气泡从水中往上冒类似而得名。 我们先来看一下冒泡排序的基本过程:
2016-11-30 14:59:41
568
25
原创 算法之插入排序
学过数据结构的我们,对于算法肯定都不陌生。算法在IT界有着不可或缺的作用。下面我们就挨个来说一下算法家族的亲们! 今天就先说插入排序吧。 常见的插入排序有:直接插入排序,希尔排序,折半插入排序,表插入排序。对于前两种我们多多少少接触过。(一)直接插入排序 直接插入排序算是一种最简单的插入排序了。它的基本思想是一次将每个记录插入到一个已排好序的有序表中去,得到一个新的有
2016-11-30 11:41:21
821
45
原创 高等数学——连续与间断
最近在准备研究生考试,最让人费解和头疼的莫过于数学了。这篇博客我们就来说一下高等数学的一些基础知识。一.所谓连续。 连续的概念我们肯定都不陌生。二.所谓间断。由于“一切初等函数在其定义区间内都是连续的”。那么对于我们只需要考虑两类特殊点就好:(1)函数的无定义点;(2)分段函数的分段点下面我们来说一下间断点的类型:间断点分为:(1)第一类间断点:可去间断
2016-11-27 11:37:56
8358
27
原创 在网页加载完成后执行——body的onload()
一个师哥说过:前台开发,往往一个问题纠结半天,还没有技术含量。对这些真的是深有体会了。还是要多多积累吧。 最近遇到了一个问题:点击datagrid的行,跳转到相应的详情界面,并进行一系列的查询然后将内容返回到页面上。这时,问题就来了。先说一下一开始我的代码:datagrid行单击事件:$("#dgApply").datagrid({ onClickRow:function
2016-10-26 11:07:55
11128
40
原创 计算机中丢失mfc110.dll……
计算机中丢失mfc110.dll??这是个什么鬼??鬼知道我的电脑又遭遇了什么!我一打开XShell,就提示,缺少了mfc110.dll……没办法,解决吧。
2016-10-23 21:05:44
12283
34
原创 EasyUI——datagrid 的onLoadSuccess事件无数据时提示“没有相关记录”——给用户更好的视觉效果
在做旧框架ITOO时,就遇到了一个问题,就是datagrid加载无数据时给用户一个“没有相关记录”的提示。后来由于一些原因,一直没有实现。从旧框架,带到了新框架,还是要解决的,对吧?
2016-10-23 20:19:16
37429
31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人