- 博客(193)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java 内存模型
引用计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,CPU厂商在每颗CPU上加入了高速缓存,用来缓解这种症状,因此,现在CPU同内存交互就变成了下面
2017-02-20 21:23:22
600
8
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Spring应用中的ThreadLocal VS synchronized
Spring框架单例模式:Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。Spring单例是线程不安全的。当多用户同时请求一个服务时,容器会
2017-02-20 21:02:20
717
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 java中的synchronized两种用法
synchronized用法:synchronized 方法和 synchronized 块。 1、synchronized 方法:通过在方法声明中加入synchronized关键字来声明 synchronized 方法。如: public synchronized void accessVal(intnewVal); syn
2017-02-20 20:44:17
859
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java中的synchronized--同步思路
引言我们在Java编程中一条重要的原则:先实现功能,再优化。如果不能用就能实现功能,就不用,多线程变成最大的问题就是如何保证线程安全。线程安全?多个线程同时访问同一类或对象是,这个雷辉对象始终表现正常。如何保证线程安全?直接原因:1、多个线程同时操作2、非原子操作存在CAS(check and set)多线程编程出现问
2017-02-19 22:31:38
451
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java数据结构总结
数据结构在Java中,占据相当中要的部分,数据结构的选型影响着整个系统的性能。下面我们来快速对于比较重点的Java数据结构做一个总结。java数据结构主要分为Collection和map两个主要结构(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。
2017-02-19 21:42:28
1105
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 EJB、Dubbo、Spring Cloud对比
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务框架。近期也看到各大技术社区开始组织一些沙龙和论坛来分享spring cloud的相关实施经验。
2016-09-30 21:47:14
10855
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 redis原理以及redis在linux系统下的安装(二)
上一篇文章,我们讲的是redis的原理,这一篇文章,我们一起学习redis在linux系统下的安装:首先,我们需要知道linux系统下其实简单来讲,就是:1、redis上的安装包解压、编译。2、安装到src目录下,建立新的目录,将redis安装3、为了管理,我们创建了两个文件目录一个为bin(除了conf文件之外的redis命令文件),一个为etc(conf文件)
2016-02-26 11:42:20
1269
10
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 redis原理以及redis在linux系统下的安装(一)
引言在我们的项目中,尤其是大的项目,需要能够承载搞大规模和高并发的网站,这个时候,所有的操作针对DB是不现实的,DB提供了数据的访问,每一次的数据访问都是一次IO操作,这样的IO操作多了,对性能来说是一种灾难,当然,减少这样的灾难,也是有办法的,我们可以通过创建数据库的集群,或者创建缓存的集群,这里,我们就将一种能够穿件集群的、并且能够处理超大量数据的NoSQl:redis。
2016-02-26 11:05:12
1142
14
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Operation not allowed after ResultSet closed--Mysql
引言在做底层的时候,出现这样一个问题:Operation not allowed after ResultSet closed错误代码: /** * 查找 * @param sql * @param sqlValues * @return */ public ResultSet execute
2016-01-31 20:07:45
2145
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 两个事物 update同一张表出现的死锁问题
引言近来做省一级计算机一级考试系统的时候,学生端进行大批量判分的时候,出现了这样的问题(事务(进程 ID 262)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。):这个就是我们在代码中写了大批量的update语句,用trace Profiler ,我们对死锁追踪是这样的:分析:我们来分析一下上
2016-01-24 21:11:54
22923
13
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 交互式设计--如何让你的界面简约
&什么是交互式设计?交互设计是一种如何让产品易用,有效而让人愉悦的技术,它致力于了解目标用户和他们的期望,了解用户在同产品交互时彼此的行为,了解“人”本身的心理和行为特点,同时,还包括了解各种有效的交互方式,并对它们进行增强和扩充。交互设计还涉及到多个学科,以及和多领域多背景人员的沟通。交互计算机系统的设计不仅仅是一门意识,也是一门科学。所有涉及准则都给予人类心理学:人们如
2015-12-30 16:54:24
2471
13
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 linux系统下安装Tomcat
引言一般企业中使用的服务器有多种:Web的服务器有: resin, tomcat(推荐给初学者) apache, weblogic(商业用), websphere(商业用), JBoss 等多种。承载服务器的系统有Windows系统或者linux系统,我们将这些服务器安装在系统中的时候,配置和安装的方式都类似,我们会了一种,举一反三,其他的原理都是相同的,只是配置有所差异而已。 下
2015-12-28 20:45:24
935
8
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java中的泛型
引言泛型的本质是所操作的数据类型被指定为一个参数。参数类型可以用在类、接口和方法的创建中,分别成为泛型类、泛型接口、泛型方法。 使用泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。泛型的类型参数只能是类类型的(包括自定义类),不能是简单类型。同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型
2015-12-28 19:56:13
934
11
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 未来的教育走向--应试教育的死穴
哈佛大学创新实验室和教育改革领导小组负责人TonyWagner,在自己的一本书《创新者的培养》中提到的过:这个世界上,想不经历失败而径直走向成功是基本不可能的。应试教育的死穴恰恰在于它没有给孩子们留下'犯错'的空间,然而,是错才是人类不断学习、进步的前提。 在我先前的学习中,我们只对于错误,老师的观点是:你们要好好听课,防止在之后的练习或者考试中遇到这样的错误。而现在,我们推崇的教育是这样
2015-11-28 20:19:55
1269
15
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 搭建纯SSH框架(二)
上一篇文章中,写到了SSH中String和Hibernate的结合,这篇中,我们学习String和Struts的结合。我们做一整套的增删改查,我们的jsp界面和Action图是这样的:从图中,我们可以看到,删除是不需要界面的,为3个jsp界面,为添加、修改和列表,一共有6个Action:1、在列表界面中点击添加,会弹出添加界面,为addUI.jsp,Acti
2015-10-18 20:21:29
1029
15
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 搭建纯SSH框架(一)
引言这个框架是根据OA项目做出来的SSH框架,集Hibernate、Struts、String,我们的思路是,首先有Hibernate,之后,Structs之后,用String结合,废话不多说,上代码。引入jar包:首先,我们建立一个web项目,我们引入JUnit4,这个是用来做测试类的。另外引入String、Hibernate、Spring的jar包。
2015-10-09 21:53:38
1025
12
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 SSH视频--Hibernate总结
前言Hibernate是一个对象关系映射框架,通过JDBC进行轻量级的封装,完成数据持久化的任务。Hibernate总结:这一块,主要是讲解Hibernate的各种映射和查询和优化策略,在这里做一个总结,为之后得学习,奠定基础。在延迟加载上,是使用了动态代理实现的,这个我们可以自己动手实现。在性能优化上面,写了很大的功夫,如可
2015-09-29 22:07:25
1040
22
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 最简单的Struts2项目实例
前言最近学习Struts的框架,就跟着视频,写了一个简单的Struts框架。在Myeclipse中创建一个自己的Web项目:创建Struts1、引入Libraries2、写界面我们,将包引入完成之后,我们就开始写我们的界面。写一个引入界面:Index.jsp: --%> <%Strin
2015-09-27 22:23:08
1960
23
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 jspsmart上传图片到Tomcat
最近做的一个项目中,用到了jspsmartUpload的jar包,将图片上传到Tomcat上面,我本人也是在学习阶段,跟大家分享一下。我们下载一个jspSmart.zip,解压后将jspsmart.jar导入到myclipse中,这里我们也可以直接下载jspSmartUpload,用它的源码也是可以的。如图:或者是这样的:这里
2015-09-26 21:07:53
1748
20
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 java异常处理
前言try...catch...finally我们经常在代码中用到了,一直觉得这个东西没有太大的用处。因为在开发中,我们总是很坚信我们的代码是不会出错的。这样说来,问题就来了,一旦我们的系统出了错,没有它们,系统就会崩溃,反映给用户,用户就不会再用这个系统。Java异常异常指不期而至的各种状况,如:文件找不到、网络连接失败、空指针、类找不到、非法参数等等。异常是
2015-08-28 22:24:39
1144
19
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 泛型
概念:类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。优点:使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。实现:关于泛型数据类型中使用的类型的信息可在运行时通过反射获取。实例演示:我们事先一个最简单的冒泡排序(Bubble Sort)算法,我们可以是这样实现的:
2015-07-29 17:22:16
967
25
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 反射 + 配置文件 实现IOC容器
IOC实现:IOC容器我们仅仅停留在知道上是不行的,我们要动手做印象对更深刻,那么我给大家看一个代码,看看代码中IOC容器的实现。代码实现:创建一个类库:解决方案的类库建立:创建一个实体类:User:using System;using System.Collections.Generic;using Sy
2015-07-28 16:06:06
1275
26
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Spring IOC容器
概念:IOC(Inversion of Control)控制反转,本来是有应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器,Spring的IOC容器主要使用DI方式实现的,不需要主动产找,对象的查找、定位和创建全部由容器管理。理解:通俗一点讲就是“不创建对象”。以前我们要调用一个对象的方法,首先要new一个对象,但是用IO
2015-07-28 15:17:32
1221
17
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spring MVC中的CAS实现
概念:SSO:Single Sign On 单点登录。SSO是多个应用系统中,用户只需要登录一次,就可以访问所有相互信任的应用系统。原理:CAS的系统原理图就是这的,上图只是第一次系统进行验证的时候。之后的验证就会清楚很多了。实现:如果我们要知道CAS是如何在MVC中实现的,我们就要对MVC的框架能够了解,其中,MVC中有两个
2015-07-28 14:23:16
4724
25
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 线程同步--悲观锁
在做数据库访问的时候,遇到了这样的问题:两个线程同时访问同一对象中的方法,那么就可能会引发数据不一致的问题,那么我们需要做的,就是加上锁。SynchronizedJava中用来给对象和方法或者代码加锁的,当他锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行该代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只有一个线程得到,另一
2015-06-29 22:21:56
1363
18
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入浅出AOP(四)--AOP的实现步骤
AOP是什么?有什么用处?怎么实现?在前面的博客中已经写的很详细了,那么我们怎么一步一步考虑的呢?在最初的时候,我们知道AOP是一个拦截业务,提供服务的东西,于是我们是这样做的:后来又了加上了Spring容器的概念,我们做成了这样的:后来我们的业务变得更大了,所以我们把业务逻辑也变成了做成了容器:之后,我们加入了框
2015-06-29 14:34:00
1578
24
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入浅出AOP(三)--WCF+AOP
Spring.NET的IOC容器解决的,就是如何在应用中将类、对象和服务组合成应用程序的问题。IOC容器通过很正统的方式将分散的组件组合成完整的应用程序。Spring.NET框架就应运而生了。框架图:其中Spring.NET Core是整个矿机阿德基础,实现了依赖注入的功能。Spring.AOP为业务对象提供面向切面编程的支持。Spring.WEB提供了客户端。
2015-06-29 11:23:44
3714
21
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入浅出AOP(二)--IOC容器
上一篇,用的静态代理实现了AOP,实际上,AOP就是一种思想,实现的方式有很多种,而要实现AOP,将提供的非业务类的方法(服务类)放在容器中,更加高级一点。IOC就是提供了一种容器。AOP+IOC实现:整体的解决方案:在这个里面,我们首先写Model:using System;using System.Collections
2015-06-28 22:23:49
1394
15
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入浅出AOP(一)
动态代理实现AOP:AOP其实很早之前按照做出来了一些东西,之所以不敢说做出来了,是因为它是什么?怎么实现?做出来的东西是不是?先前一直查资料,查到的资料跟着做,到后来发现,AOP越来越大,而很多资料跟AOP本身的思想有冲突的地方,所以还有很多要学习的地方。AOP的作用:可以动态的添加和删除在切面上的漏记而不影响原来的执行代码。AOP代理实现:
2015-06-27 22:12:01
1614
20
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Spring.net--AOP
引言 AOP的意思是面向方面编程,英文全称是Aspect Oriented Programming,它的作用是讲彼此先和在一起的功能分离开,简单来说就是解耦和。AOP的原理:我们编写应用程序时,通常包含两种代码:一种是和业务系统有关的代码,一是和业务系统关系不大的代码,例如日志、权限、异常处理、事务处理等。以前编写代码时,这两种代码基本是写在一起的,这样在程序中,到处充满着相同或类似的
2015-05-29 21:56:55
2072
25
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ODBC实现动态建库和切库
前几天在要把ITOO放在云上,那么实现动态建库和切库就很重要了。第一个我们想到的方法就是用ODBC,动态创建数据库和创建表,其实这种方式就是最简单,也是比较好想到的实现方式。所有的事情,都从简单的开始,就会比较好实现了。
2015-05-24 21:09:07
1955
18
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 MVC上传文件
做UI的时候,有一个上传Dll文件的功能,这个功能,之前在2.0的时候,只在特定的目录下进行上唇,而3.0要实现的是在任何的地方都可以上传文件,这个时候,我们就需要用到MVC如何上传文件。
2015-05-20 22:20:36
1505
18
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 “无法自动进入单步执行服务器。未能调试远程过程。这通常说明未在服务器上启动调试”解决方案
在进行UI界面修改的时候,出现了一个很大的问题,就是“无法自动进入单步执行服务器。未能调试远程过程。这通常说明未在服务器上启动调试”,在进行远程调用的WCF调用的时候,出现的问题。问题出现的原因:是因为我们在源代码中修改了一些东西后,但在客户端调用的时候,一般使用配置文件中对WCF服务进行调用的: <endpoint address="http://localhost:573
2015-04-29 22:09:33
10678
18
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 论底层封装--Memcached
背景:这件事要从早之前说起,先前,我们考试系统中说要一起讲一下底层的东西。当时,组长给我和一清分的这个Memcached这个东西,要我们整理一下,然后给大家讲一讲。起初的东西不知道如何下手,因为没有资料、没有视频等等,我就找了九期的师哥要了一些资料,通过这些资料,我们做出了一些Demo,当时我们做出来之后,就没有真正运用到项目中,后来ITOO项目3.0开始后,底层说要叫几个负责模块的人,因为当
2015-04-23 20:36:57
2192
34
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 特性
(一)概念:是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。可以通过使用特性向程序添加声明性信息。也就是说,也行就是向程序添加声明性信息,程序可以解析这些声明性信息,进行对这些信息作出反应,我的理解。(二)类型:分为两种类型:预定义和自定义。预定义特性:.NET框架提供了三种预定义特性:1、Attr
2015-03-31 17:56:02
1268
19
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 工作流文件从编译到运行编译
遗憾的是没有查到动态生成xaml文件的,有xoml文件的,我做一个小Demo,期望之后能做成我们想象中的那个样子的工作流。
2015-03-31 15:47:22
1782
17
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 分布式缓存--Memcached
概念: memcache是一套分布式的高速缓存系统,实现了从单机到分布式。 memcache实现了从单机到分布式,同时也实现了多台机器共享用户登录状态。 这个其实很好理解的:现在有三台机器组成了一个WEB应用集群,其中一台机器用户登录,然后其他两外两台机器共享登录状态。我们在淘宝的时候,每次点击一种物品链接的时候,这个链接可能或发送到全国各地,那么这些服务器是怎样获取
2015-03-30 20:49:53
2406
12
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 分布式缓存--MVC+EF+Memcache
Memcache解决单机实现分布式,是大数据时代的要求,解决了高并发访问数据库死锁,实现了多客户端共享缓存。
2015-03-03 19:19:34
2896
15
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 MVC-Razor分布视图
什么是分布视图?Mvc时代的分部视图,web form时代的对应物ascx分部控件。当然MVC对分布视图具有更强的控制能力。分布视图的优点?1、分布视图可以使系统插件化(各个功能模块都是独立的,减少开发,增加重用)。2、分工合作(适应群体开发)。3、实现简单。分布视图的实现?原理:我们都知道MVC是通过Action方法对应到view中的,Action方法可以通过Pa
2014-12-21 22:14:35
5220
37
redis实现实例
2016-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人