
1.Java基本数据类型与表达式支循环
2.StringStringBuffer使用、则表达式
3.面向象抽象封装继承态类与象象初始化收构造函数、this关键字、参数传递程、static关键字、内部类Java垃极收机制Javadoc介绍
4.象实例化程、覆盖、final关键字、抽象类、接口、继承优点缺点剖析象态性:类父类间转换、抽象类接口态应用、态带处
5.Java异处理异机制原理
6.用设计模式:Singleton、Template、Strategy模式
7.JavaAPI介绍:种基本数据类型包装类SystemRuntime类DateDateFomat类等
8.Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等用集合类API
9.Java
I/O输入输流:FileFileRandomAccess类字节流InputStreamOutputStream字符流Reader
Writer及相应实现类IO性能析字节字符转化流包装流概念及用包装类计算机编码
10.Java高级特性:反射、代理泛型
11.线程原理:何程序创建线程(Thread、Runnable)线程安全问题线程同步线程间通讯、死锁
12.Socket网络编程
第二阶段:Java
Web发
1.Java解析XML文件DOM4J
2.MySql数据库应用、表连接查询应用
3.JspServlet应用
4.Http协议解析
5.Tomcat服务器应用配置
6.WebService服务配置应用
第三阶段:android UI编程
1、Android发环境搭建:Android介绍Android发环境搭建第Android应用程序Android应用程序目录结构
2、Android初级控件使用:
TextView控件使用
Button控件使用
EditText控件使用
ImageView使用
RadioButton使用
Checkbox使用
Menu使用
3、Android高级控件使用:
Autocompletion使用
ListView使用
GridView使用
Adapter使用
Spinner使用
Gallary使用
ScrollView使用
4、框与菜单使用:
Dialog基本概念
AlertDialog使用
DatePickerDialog使用
Menu使用
自定义Menu实现
5、控件布局:
线性布局使用
相布局使用
表格布局使用
6、Acitivity管理:
AndroidManifest.xml文件作用
Intent使用
使用Intent传递数据
启Activity
IntentFilter使用
Activity Group使用
7、自定义控件实现:
自定义ListView实现
折叠ListView使用
自定义Adapter实现
自定义View实现
态控件布局实现
第四阶段:android网络编程与数据存储
1、基于Android平台HTTP通讯:
Http协议顾
Apache Commons 工具包介绍
使用Get向服务器提交数据
解析服务器响应数据
使用POST向服务器提交数据实现
向服务器提交非文本数据实现
使用Http协议实现线程载
使用Http协议实现断点续传
2、Android数据存储技术:
SQLite3数据库简介
SQL语句顾
SQLite3编程接口介绍
SQLite3事务管理
SQLite3游标使用
SQLite3性能析
访问SDCard
访问SharedPreferences
3、ContentProvider使用:ContentProvider实现共享数据、URI
解析与UriMatcher、ContentUris使用、使用ContentResolver *** 作ContentProvider、
ContentProvider监听Android异步 *** 作:Handler使用异步任务基本概念AsyncTask使用
第五阶段:android手机硬件管理
1、图及定位技术:GPS简介LocationManager使用Google Map添加标记查询某附近建筑使用Google Map实现点点导航
2、传器使用:向、加速度(重力)、光线、磁场、距离、温度等传器使用
3、近场通信技术:NFC技术简介NFC技术用场景介绍NFC技术实现
4、媒体管理技术:MediaPlayer使用
5、触摸屏技术:手势识别点触摸技术
第六阶段:Android图形编程技术
1、图形处理基础:2D图形编程基础
2、点、线、面等基本图形元素绘制
3、Android画框架简介
4、位移画实现
5、淡入淡画实现
6、旋转画实现
7、Matrix使用
第七阶段:Android游戏发
1、Android游戏发:Android游戏发概述
2、SurfaceView使用
3、物理球技术
4、碰撞检测技术
5、图片、文字背景音乐等资源使用
6、游戏引擎基础概念
7、Cocoa2d-Android引擎使用
8、OpenGL ES使用
锁是需要事务结束后才释放的。
一个是 MVCC,一个是两阶段锁协议。
为什么要并发控制呢?是因为多个用户同时 *** 作 MySQL 的时候,为了提高并发性能并且要求如同多个用户的请求过来之后如同串行执行的一样(为了解决脏读、不可重复读、幻读)
官方定义:
两阶段锁协议是指所有事务必须分两个阶段对数据加锁和解锁,在对任何数据进行读、写 *** 作之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。
对应到 MySQL 上分为两个阶段:
但是两阶段锁协议不要求事务必须一次将所有需要使用的数据加锁(innodb在需要的索引列数据才锁行),并且在加锁阶段没有顺序要求,所以这种并发控制方式会形成死锁。
MySQL有两种死锁处理方式:
死锁检测 (默认开启)
死锁检测的原理是构建一个以事务为顶点、锁为边的有向图,判断有向图是否存在环,存在即有死锁。
回滚
检测到死锁之后,选择插入更新或者删除的行数最少的事务回滚,基于 INFORMATION_SCHEMA.INNODB_TRX 表中的 trx_weight 字段来判断。
收集死锁信息:
减少死锁:
死锁解决:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)