为什么要用synchornized? 由于多线程编程时引发的线程安全问题,所以要用synchornized. 多线程编程,会有原子性,可见性,有序性的问题 使用synchornized可以解决原子性,可见性和有序性需要使用volatile关键字解决 synchornized怎么使用? 当synchornized里填入成员变量或者成员方法或者代码块的时候,表示这个锁只针对这一个实例对象有效. 当synchornized里填入静态对象或者静态方法或者.class的时候,表示这个锁针对这个类的所有实例对象 为什么在synchornized的小括号里填入任何对象都可以锁? synchornized(this),synchornized("1"),synchornized(User.class),这几种都可以实现锁,因为无论是this还是"1"还是User.class,它们都含有java对象头MarkWord 何为MarkWord? 在Hotspot虚拟机中,对象在内存中的存储布局,可以分为三个区域:对象头(Header)、实例数据 (Instance Data)、对齐填充(Padding)。 ....
运行sql建表加数据 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CId,Cname,TId) --CId --课程编号,Cname 课程名称,TId 教师编号 --3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名 --4.成绩表 SC(SId,CId,score) --SId 学生编号,CId 课程编号,score 分数 测试数据 create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); insert into Student values('01' , '赵雷' , '1990-01-01' , '男'); insert into Student values('02' , '钱电' , '1990-12-21' , '男'); insert into Student value.....