MVC框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑...

java 死锁概念及实例

什么是死锁? 简单来说,死锁就是一个线程拿到第一把锁,继续执行代码时候还需要拿第二把锁,而第二个线程执行时候已经先拿走了第二把锁,且还需要拿第一把锁。此刻线程一需要等待第二把锁,线程二需要等待第一把锁,因此变成了互相等待的情况,导致了死锁的产生。(至少两个线程,两个资源,两个锁,...

Linux 文件搜索命令 locate

locate命令是文件搜索命令,此命令是按照文件名字搜索,从/var/lib/mlocate 即locate命令所在的数据库中搜索,这也是此搜索命令速度快的原因。   locate命令搜索时候存在的问题:当你新建一个文件时候,用locate命令搜索名字是查不到此文件的。...

Linux 硬链接和软链接区别

ln 是基于Linux 下的生成链接文件的命令 下面介绍下硬链接和软连接区别: 硬链接: 1、拥有相同的i节点和存储block块,可以看做是同一个文件 2、可通过i节点识别 3、不能跨分区 4、不能针对目录使用 (硬链接删除其中一个文件,另一个文件还在,并且仍然可以使用) 软链接...

Java 接口和抽象类

这里简单回顾下接口和抽象类区别: – abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 – 在abstract class 中可以有自己的数据成员,也可以有非...

并发 并行 同步 异步 多线程的区别

1、并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥。 2、互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。 3、同步:进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的...

虚拟内存管理

这里仅仅是回忆两个概念 虚拟储存的管理 1虚拟存储管理的概念 当程序的存储空间要求大于实际的内存空间时,就使得程序难以运行了.虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中.能够实...

volatile 可见性及原理

原理 在线程操作的对象直接存储到主存,当线程读取时,实时从主存读取,相当于省去了缓存的一步。 典型实例 ··· public class RunThread extends Thread{ public boolean isRunning = true; ...

动态规划思想之案例解释

动态规划算法的基本思想: 将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到时直接引用答案,不必重新求解。动态规划算法将问题的解决方案视为一系列决策...

进程和线程间的通信方式

进程、线程通信的概念: 进程通信:进程用户空间是相互独立的,一般而言是不能相互访问的,唯一的例外是共享内存区、 内核空间、以及可以访问的外设,所以不管是进程和线程都是需要通信的。   进程通信需要解决问题: 1、既一个进程如何把消息传递给另一个。 2、确保两个或者多个进...

汉罗塔思想以及java的递归实现

问题描述: 汉罗塔问题,简单来说就是输入一个n代表牌的个数,有A B C三个塔,n张牌按照从上到下一次变大的顺序在A上,用最小的移动次数将A上的移动到C上,结果仍然是从小到大。(可借助B,注意每次只能移动一个牌,整个过程中必须保证大牌在小牌下面) 解题思想: 当给一张牌时候很简单...