Welcome 微信登录

首页 / 操作系统 / Linux

HashMap实现原理分析

HashMap实现原理分析

HashMap实现原理分析概述HashMap是Java集合框架(Java Collection Framework, JCF)中一个基础类,它在1998年12月,加入到Java 2版本中。在此之后,Map接口本身除了在Java 5中引入了泛型以外,再没有发生过明显变化。然而HashMap的实现,则为了提升性能,不断地在改变。1.hash表的复习在正式学习HashMap源码之前,先复习一下hash表的实现。1.1 什么是哈希表哈希表(Hash table,也...
C及C++中typedef的简单使用指南

C及C++中typedef的简单使用指南

又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也看了不少关于typedef用法的博客。于是我就想把我理解的东西整理下来。一.基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变...
快速学会JavaScript中的闭包

快速学会JavaScript中的闭包

Javascript中的闭包前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它。下面是作者从作用域链慢慢讲到闭包以及在后面提到了一些闭包的高级用法。下面大家一起来学习Javascript中的闭包。谈一谈JavaScript作用域链 当执行一段JavaScript代码(全局代码或函数)时,JavaScript引擎会创建为其创建一个作用域...
使用Java配置搭建SSH框架

使用Java配置搭建SSH框架

时代在不断进步,大量基于xml的配置所带来的弊端也显而易见,在XML配置和直接注解式配置之外还有一种有趣的选择方式-JavaConfig,它是在Spring 3.0开始从一个独立的项目并入到Spring中的。它结合了XML的解耦和JAVA编译时检查的优点。JavaConfig可以看成一个XML文件,只不过是使用Java编写的。现在下面为大家展示如何编写基于java Config 配置 spring+springmvc+hibernate。项目是在intel...
SpringMVC源码分析之拦截器

SpringMVC源码分析之拦截器

一个东西用久了,自然就会从仅使用的层面上升到探究其原理的层面,在javaweb中springmvc更是如此,越是优秀的框架,其底层实现代码更是复杂,而在我看来,一个优秀程序猿就相当于一名武林高手,不断进阶武功秘籍,越是高深莫测的功夫,越是要探究其原理,而springmvc就是一本十分深奥的武功秘籍。说起拦截器,说不得不和过滤器进行对比,在此贴图一张不进行多加解释,简单的来说拦截器能作用于controller层方法实现的前后而过滤器不能。 在这里先列出一...
基于javaConfig和注解配置Spring Security

基于javaConfig和注解配置Spring Security

Spring Security 借助一系列Servlet Filter 来提供安全性功能,但是借助Spring的小技巧,我们只需要配置一个Filer就可以了,DelegatingFilterProxy是一个特殊的Servlet Filter,它本身所做的工作并不多,只是将工作委托给一个javax.servlet.Filter 的实现类,这个实现类作为一个bean注册再Spring应用的上下文中。 如果了解过用xml配置spring security的朋友...
了解SpringMVC框架及基本工作流程

了解SpringMVC框架及基本工作流程

传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此,我们都知道我们request和response都依赖于url,当我们想要通过针对围绕url进行编程的话单纯的JSP+Servlet在实现上只有过滤器Filter在抵达相对应的Servlet之前起作用,但是如果我们想要在Servlet转发或者重定向之后再进行一些...
DES算法详解

DES算法详解

本文主要介绍了DES算法的步骤,包括IP置换、密钥置换、E扩展置换、S盒代替、P盒置换和末置换。1.DES算法简介 DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。 DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。 密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的...
ARM学习篇 SDRAM理解

ARM学习篇 SDRAM理解

1.SDRAM单管存储单元SDRAM单管电路图 C记忆单元 T控制门管 Z字线 W位线 注:图示为N沟道耗尽型MOS管写入:Z加高电平,MOS导通,W状态决定了电容C的状态读出:Z加高电平,MOS导通,可以从W状态得知C的状态保持:Z加低电平,MOS关闭,电容保持原状态注意:单管读出是破坏性读出,因为读出时电容充电或者放电了,所以读出后还要重写 2. 刷新与重写 ● 刷新是每隔一段时间,自动重写一次;重写是破坏性读出后立即还原最大刷新...
Java进行二元操作类型转换

Java进行二元操作类型转换

当对两个数值进行二元操作时,先要将两个操作数转换为同一种类型,然后再进行计算。如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。否则,如果其中一个操作数是float类型,另一个操作数就会转换为float类型。否则,如果其中一个操作数是long类型,另一个操作数就会转换为long类型。否则,两个操作数都将转换为int类型。对于最后一点,即使操作数是short等类型也会转换为int类型进行计算。如:short b = 1;b =...
Linux 多线程信号量同步

Linux 多线程信号量同步

PV原子操作P操作:如果有可用的资源(信号量值>0),则此操作所在的进程占用一个资源(此时信号量值减1,进入临界区代码);如果没有可用的资源(信号量值=0),则此操作所在的进程被阻塞直到系统将资源分配给该进程(进入等待队列,一直等到资源轮到该进程)。V操作:如果在该信号量的等待队列中有进程在等待资源,则唤醒一个阻塞进程;如果没有进程等待它,则释放一个资源(即信号量值加1)。信号量模型定义信号量 sem_t sem初始化信号量 sem_init()获取...
Linux 多线程互斥量同步

Linux 多线程互斥量同步

同步同一个进程中的多个线程共享所在进程的内存资源,当多个线程在同一时刻同时访问同一种共享资源时,需要相互协调,以避免出现数据的不一致和覆盖等问题,线程之间的协调和通信的就叫做线程的同步问题, 线程同步的思路: 让多个线程依次访问共享资源,而不是并行互斥VS同步互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序...
Linux 多线程编程

Linux 多线程编程

概念原来指向main()的线程叫做主线程(main thread)使用pthread_create()创建出来的线程,叫做子线程(child thread)主/子线程只有在创建时才有区别, 创建完了就一视同仁, 都是一样的独立个体, 可以有交流、共享和私有, 但没有上下级, 这一点和多进程一样, 只有在创建的瞬间才有parent process 和child process 的区别, 创建完了就都是一样的独立个体创建完子线程之后,两个线程之间独立运行,线程...
<< 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 >>