随笔分类 - 学习笔记
摘要:因为自己不经常使用linux的命令行工具,但是mac的终端还是经常使用的,有些命令总是要想一会或者百度一下才知道怎么用,抽时间整理了一下常用的命令,作为笔记. 常用命令 查看文件操作: ls :列出当前目录下所有文件和目录 cat file:查看文件内容 -n:显示行号 less file:查看文件
阅读全文
摘要:背景 对于高频访问但是低频更新的数据我们一般会做缓存,尤其是在并发量比较高的业务里,原始的手段我们可以使用HashMap或者ConcurrentHashMap来存储. 这样没什么毛病,但是会面临一个问题,对于缓存中的数据只有当我们显示的调用remove方法,才会移除某个元素,即便是高频的数据,也会有
阅读全文
摘要:对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: 对于传统jdbc连接数据库的操作有一些问题,问题及相应的解决构想总结如下: 方案:使用数据库连接池管理连接 方案:将sql语句,占位符,参数等配置到xml文件中,修改sql语句,无需重新编译项目. 方案:将查
阅读全文
摘要:以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: Controller代码中是这样编写的: 当执行HelloController代码的时候就会跳转到"当前项目//W
阅读全文
摘要:注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—>封装响应的数据 d,将响应的数据进行渲染 springMVC框架有什么优点? 性能比struts2好 简单
阅读全文
摘要:类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成jav
阅读全文
摘要:最近,在看MIT那套久负盛名的算法导论的教程,已经追到了第五讲,线性排序,里面讲到了计数排序和基数排序,对于基数排序,当时学数据结构的时候只是知道原理,从来没有实现过,确切的说是不会实现,看完教程自己试着写了一下,参考了网上一些大神的代码,终于算是搞懂了,把几乎每一行代码都加上了注释,贴在这里:
阅读全文
摘要:关于Email服务你需要知道的知识点: 概述: 今天来介绍一下应用层的电子邮件服务,我们每天几乎都在用,电子邮件(email)服务也是一种基于C/S模式的服务,它采用的是一种"存储-转发"的服务,是一种异步通信方式的服务,可以进行非实时通信. 整个电子邮件系统包括"用户代理"(UA)和"消息传输代理
阅读全文
摘要:传输层概述: 为什么要划分传输层? 既然网络层已经能把源主机上发出的数据传送给目的主机,那么为什么还需要加上一个传输层呢?这就需要我们理解主机用户应用层通信的主体,位于两台网络主机中真正的数据通信主体并不是这两台主机,而是两台主机中的各种网络应用进程.同一时间一台主机上可能有多个进程同时运行,这时候
阅读全文
摘要:IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址基本格式: 计算机内部IP地址的格式是32位的二进制数表示的,为了让人们看起来方便,通常采用点分十进
阅读全文
摘要:为什么要划分网络层? 不用的网络有不同的协议和标准,为了可以在不同网络之间互访,共享双方的资源,并且还要保持每个计算机网络本来的独立性,所以才划分出了网络层,并制定了专门的协议来负责网络间通信. 网络层的主要功能: 1.屏蔽网络差异,提供透明传输. 为传输层提供服务:面向连接的网络服务(虚电路服务)
阅读全文
摘要:在数据链路层工作的主要设备,常见的有网卡,网桥,和二层交换机. 网卡(网络适配器): 网卡,也叫网络适配器,是安装在计算机上,用来连接计算机网络的,是计算机网络中最基础的网络设备,网卡类型总的来说分为有线以太网卡,WLAN无线网卡两大类. 常见的有双绞线以太网卡: 网卡的功能: 网卡和局域网之间的通
阅读全文
摘要:CyclicBarrier的概念理解: CyclicBarrier的字面上的意思是可循环的屏障,是java并发包java.util.concurrent 里的一个同步工具类,在我下载的JDK1.6的中文文档里对他的解释是: 大体意思就是:让一组线程到达一个屏障,一个集合点时,被阻塞,直到所有的线程都
阅读全文
摘要:Semaphore可以控制某个共享资源可被同时访问的次数,即可以维护当前访问某一共享资源的线程个数,并提供了同步机制.例如控制某一个文件允许的并发访问的数量. 例如网吧里有100台机器,那么最多只能提供100个人同时上网,当来了第101个客人的时候,就需要等着,一旦有一个人人下机,就可以立马得到了个
阅读全文
摘要:自学了一段时间的多线程知识,尝试了做了几个编程题,发现想象中很简单的功能,自己真写起来要花费远超自己想象的功夫,知识点易学,不易用啊. 面试题1:编写程序实现,子线程循环10次,接着主线程循环20次,接着再子线程循环10次,主线程循环20次,如此反复,循环50次. JDK1.5以后,出现了Lock和
阅读全文
摘要:定时的功能我们在手机上见得比较多,比如定时清理垃圾,闹钟,等等.定时功能在java中主要使用的就是Timer对象,他在内部使用的就是多线程的技术. Time类主要负责完成定时计划任务的功能,就是在指定的时间的开始执行某个任务. Timer类的作用是设置计划任务,而封装任务内容的类是TimerTask
阅读全文
摘要:程序启动一个新线程的成本是很高的,因为涉及到要和操作系统进行交互,而使用线程池可以很好的提高性能,尤其是程序中当需要创建大量生存期很短的线程时,应该优先考虑使用线程池. 线程池的每一个线程执行完毕后,并不会死亡,会再次回到线程池中变成空闲状态,等待下一个对象来调用,类比于数据库连接池.JDK1.5以
阅读全文
摘要:什么是线程? 在同一个进程中可以执行多个任务,每一个任务可以看做一个线程. 线程是程序的执行单元,执行路径,使程序使用cpu的最基本单位 一个进程如果只有一条执行路径,那么就是单线程的 一个进程如果有多个执行路径,那么就是多线程的 多线程的意义: 多进程的存在是为了提高CPU的利用率,多线程的存在,
阅读全文