自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 动态代理中的强制转换问题

public class Client { public static void main(String[] args) { final Product product = new Product(); IProduct proxyProduct = (IProduct)Proxy.newProxyInstance(product.getClass().g...

2019-06-11 23:32:50 1668 1

原创 JVM--(一)

类加载在Java代码中,类型的加载、链接与初始化都是在程序运行期间完成的。提供了更大的灵活性,更加了更多可能。Java虚拟机与程序的生命周期Java虚拟机结束生命周期:执行System.exit()方法;程序正常结束;程序执行过程遇到异常而异常终止;操作系统出现错误。类的加载、链接、初始化1、加载:查找并加载类的二进制数据。将类的.class文件中的二进制数据读入到内存中,将...

2019-04-25 11:17:57 143

原创 进程死锁

1、概念各进程相互等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象。2、死锁产生的必要条件(1)互斥条件(2)不可剥夺条件(不能强行被夺走)(3)请求和保持条件(已经至少保持了一个资源,同时一直请求另一个资源)(4)循环等待条件(存在资源的循环等待链)3、对不可剥夺资源的不合理分配就可能导致死锁4、死锁的处理策略(1)预防死锁破坏产生死锁的四个必要条件中的一个或几个(...

2019-04-17 22:08:49 466

原创 进程同步、互斥--哲学家进餐问题

1、问题描述一张圆桌上有5名哲学家,没两个哲学家之间有一根筷子,桌子中间由一碗米饭。当哲学家饥饿时会试图分别拿起左右两根筷子,如果筷子已在他人手上则需等待。饥饿的哲学家只有拿起两根筷子才能进餐,吃完后才能放下筷子。2、问题分析对哲学家分别编号0,1,2,3,4,对筷子编号0,1,2,3,4。i号哲学家左边筷子编号为i,右边编号为(i+1)%5。(1)方案1最多允许4个哲学家同时申请进餐,...

2019-04-16 21:29:08 2502 2

原创 进程互斥、同步--读者写者问题

1、问题描述有读者和写着两组并发进程,共享一个文件,两个及以上的读者进程可同时访问文件,但是写进程与写进程之间和写进程与读进程之间不能同时访问文件。2、关系分析semaphore rw=1; //实现对文件的互斥访问int count=0; //记录当前有几个读进程在访问文件semaphore mutex=1; //用于保证对count的互斥访问3、代码实现writer(){ wh...

2019-04-16 20:55:58 1192

原创 进程同步、互斥--吸烟者问题

1、问题描述:一个系统有三个抽烟者和一个供应者进程。每个抽烟者不停地卷烟并抽掉。卷烟需要三种材料:烟草、纸和胶水。三个抽烟者中,第一个有烟草,第二个有纸,第三个有胶水。供应者无限提供三种材料,每次提供两种,拥有剩下那种材料的抽烟者可以卷一根烟并抽掉,并告诉供应者,供应者再提供下两种材料(让三个消费者轮流抽烟)。2、关系分析互斥关系:互斥访问供应区mutex=1; (由于缓冲区大小为1,可不使...

2019-04-16 20:31:06 645

原创 进程互斥、同步--多生产者多消费者问题

1、问题描述:有一个缓冲区,生产者1和生产者2分别生产产品1和产品2,消费者1和消费者2分别消费产品1和产品2。只有当缓冲区空时,生产者才可以向缓冲区生产产品。当缓冲区不空时消费者1或者2才可以消费与之对应的产品。2、关系分析互斥关系:缓冲区只能互斥访问mutex=1; //实现互斥访问缓冲区同步关系:(1)生产者1生产产品1后,消费者1才能消费product1=0; // 缓冲区的产...

2019-04-16 20:05:00 1032 1

原创 git中分支的基本操作

1、创建分支git branch [分支名]2、查看分支git branch -v3、切换分支git checkout[分支名]4、合并分支(1)切换到接收修改的分支git checkout [分支名](2)执行合并命令git merge [有新内容的分支]5、解决分支合并的冲突(1)编辑文件,删除特殊符号(2)把文件修改到满意程度,保存退出(3)git add [文件...

2019-04-14 17:56:09 98

原创 git的基本操作

1、查看状态git status查看工作区、暂存区的状态2、添加操作git add[file name]将工作区的“新建/修改”添加到暂存区3、提交操作git commit -m “commit message” [file name]将暂存区的内容提交到本地库4、查看历史纪录git log(多屏显示控制方式:空格向下翻页;b向上翻页;q退出)一行显示git log --...

2019-04-14 00:09:09 84

原创 进程同步、互斥--生产者消费者问题

1、问题描述:有一组生产者进程和一组消费者进程,生产者每次生产一个数据放入缓冲区(临界资源),消费者每次从缓冲区取出一个数据使用。缓冲区大小为n,当缓冲区满时生产者不能生产,当缓冲区空时消费者不能消费。2、问题分析:(1)只有缓冲区有空余时,生产者才能生产,否则等待;同步信号量 semaphore empty=n; //有空闲区域的初始值(2)只有缓冲区有产品时,消费者才能消费,否则等待;...

2019-04-12 21:25:17 929

原创 进程同步--信号量机制

用户进程可通过操作系统提供的一对原语(P操作和V操作)来对信号量进行操作,从而实现进程互斥、同步。1、整型信号量用一个整数型的变量,用来表示系统中某种资源的数量,只能对其进行三种操作:初始化、P操作、V操作。存在问题:不满足让权等待,导致忙等。2、记录型信号量P操作中,先S.value–,再判断S.value是否小于0。若小于0则说明没有相应资源,执行block原语阻塞;若不小于0,则说...

2019-04-12 20:36:29 440

原创 进程互斥--硬件实现方法

1、中断屏蔽方法利用“开/关中断指令”实现优点:简单、高效缺点:不适用于多处理机;由于开关中断权限很大,只适合操作系统的内核进程,不适用于用户进程。2、TestAndSet指令(TS、TestAndSetLock、TSL)TSL指令使用硬件实现,执行过程中不允许被中断TestAndSet实现逻辑//布尔型共享变量lock表示当前临界区是否被加锁//true表示已加锁bool Te...

2019-04-11 21:36:08 1638

原创 进程互斥--软件实现方法

1、单标志法算法思想:两个进程在访问完临界区后,会把使用临界区的权限交给另一个进程。每个进程进入临界区的权限只能被另一个进程赋予。违背原则:空闲让进2、双标识先检查法算法思想:设置一个布尔型数组flag[],数组中各元素用来标记进程想进入临界区的意愿,true表示想要进入。每个进程在进入临界区之前先检查当前有没有别的进程想进入临界区,如果没有,则把自身的flag设为true,之后开始访问临...

2019-04-11 21:09:53 1228

原创 实现进程互斥需要遵循的原则

1.、空闲让进当临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区。2、忙则等待当已有进程进入临界区时,其他试图进入临界区的进程必须等待。3、有限等待对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿)。4、让权等待当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。...

2019-04-10 21:33:26 4343

原创 插入排序,下标越界

今天在写插入排序时,始终报下标越界的错误,检查了几遍,发现并运算的顺序写错了public static void straightInsertSort(int[] arr){ int i,j,temp; for(i=1;i<arr.length;i++){ if(arr[i]<arr[i-1]){ temp = arr[i]; for (j=i-1; *...

2019-03-24 21:58:25 335 1

原创 java.lang.ExceptionInInitializerError Caused by:Repeated column in mapping for entity:(should be)

java.lang.ExceptionInInitializerErrorCaused by:Repeated column in mapping for entity:(should be mapped with insert=“false” update=“false”)这是有关外键的问题,所以首先找到两张关系表的外键外键属于关系型数据库中的内容,在Java实体中不用定义其属性,所以...

2019-03-14 13:29:33 243

原创 hibernate框架初学运行时,一直出现[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

hibernate初学,运行时总报这个错误,Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]这是由于JDBC环境的问题,最可能的原因是数据库连接问题,所以可能是配置文件出了问题,但是也有可能是其他问题,所以最好从头开始检查。1、导包以下10个包是hibernate运行的...

2019-03-12 00:14:54 2861

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除