JAVA自学教程之线程的同步。
继续以卖票为例
一、线程安全问题的解决
同步的第一种表现形式:同步代码块
思路:
将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程是不允许参与运算的,必须要当期线程把代码执行完毕后,其他线程才可以参与运算
在java中用同步代码块解决这个问题
同步代码块格式:
synchronized(对象)
{
需要被同步的代码部分
}
- class Ticket im[......]
JAVA自学教程之线程的同步。
继续以卖票为例
一、线程安全问题的解决
同步的第一种表现形式:同步代码块
思路:
将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程是不允许参与运算的,必须要当期线程把代码执行完毕后,其他线程才可以参与运算
在java中用同步代码块解决这个问题
同步代码块格式:
synchronized(对象)
{
需要被同步的代码部分
}
JAVA自学教程之单例设计模式涉及的多线程问题。
一、多线程下的单例设计模式
利用双重判断的形式解决懒汉式的安全问题和效率问题
Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。
Servlet过滤器原理分析。
SQL注入原理及PreparedStatement的使用。
SQL注射原理
JAVA的动态代理 。
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。
&[......]
Hibernate常用的主键生成策略的原理、特点、应用场合。
关于映射文件的问题下次再介绍,这次主要总结hibernate常用主键生成策略。
(1)increment
a)对主键值采取自动顺序增长的方式生成新的主键,值默认从1开始。
b)原理:在当前应用实例中维持一个变量,以保存当前最大值,之后每次需要生成主键值的时候将此值加1作为主键.不依赖于底层的数据库,因此所有的数据库都可以使用
c)缺点:通过increment的生成主键的原理可推断,此种主键生成策略不适用于集群、同一时段大量用户并发访问的系统,既当大量用户同一时间段同时进行插入操作的时候,可能存在取得相同[......]
iBatis 入门实例教程。
iBatis 简介:
iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了。
今天学习下ibatis ,要学习他,首先需要搭建ibatis需要的环境
1.导入相关的jar包
2.编写配置文件
jdbc连接的属性文件
总配置文件,Sql[......]