2.3-Java之面试宝典
fei20121106
这个作者很懒,什么都没留下…
展开
-
(2.3.8)LRU算法四种实现方式介绍
RU全称是LeastRecently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。一、实现LRU 1.用一个数组来存储数据,给每一个数据项标记一个访问时间戳,每次插入新数据项的时候,先把数组中存在的数据项的时间戳自增,并将新数据项的时间戳置为0并插入到数组中。每次访问数组中的数据项的时候,将被访问的数据项的时间戳置为0。...原创 2020-08-03 22:42:46 · 299 阅读 · 0 评论 -
(2.3.15)Java的不可变类
61 概述611 项目经理必须具备的技能6111 人际关系技能 116112 领导风格与管理风格6113 权力6114 冲突612 项目团队工作分配与激励62 涉及过程621 规划人力资源管理622 组建项目团队623 建设项目团队624 管理项目团队63 输入输出64 工具技术641 规划人力资源管理 5642 组建项目团队 5643 建设项目团队 7644 管原创 2020-07-25 18:12:04 · 171 阅读 · 0 评论 -
(2.1.8.8)SparseArray稀疏数组与ArrayMap源码分析
文章目录一、稀疏数组的由来1.1 源码解析1.2 构造方法1.3 put(int key, E value)1.4 get(int key)1.5 gc()二、android.support.v4.util.ArrayMap2.1 构造函数2.2 put(K key, V value)参考文献SparseArray,通常来讲是Android中用来替代HashMap的一个数据结构。准确来讲,是用...原创 2019-01-22 15:22:33 · 397 阅读 · 1 评论 -
(2.3.14)Java上的try catch并不影响性能(转)
最近因为担心自己开发的库不稳定,会影响到接入产品的正常运行,在代码的不少地方都加了一层try catch,主要是为了避免自己的一些异常抛出导致,应用crash,捕获的异常也并没有做什么特别的处理,只是在log中输出该异常的信息。try catch多了后,就开始担心会不会影响性能,以前学C或C++的时候好像曾经被警告过要尽量少使用try catch,好像是在压栈的时候会更消耗神马的,其实说真的并转载 2017-03-10 15:54:46 · 312 阅读 · 0 评论 -
(2.3.13)Comparable接口的实现和使用[ Collections.sort]
1.什么是Comparable接口此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比较器。 强烈推荐(虽然不是必需的转载 2016-06-04 16:54:07 · 621 阅读 · 0 评论 -
(2.3.12.1)正则校验字符串是否为数字
package com.sangfor.pocket.expenses.util;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 类描述: * <p/> * Created by sf on 2016/5/5. */public class NumberValidationUtils { pri原创 2016-05-09 15:48:56 · 527 阅读 · 0 评论 -
(2.3.12)java正则表达式判断数字
"^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\转载 2016-04-26 15:20:52 · 1460 阅读 · 0 评论 -
(2.3.9)用户态和内核态的概念区别
究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子C代码1. void testfork(){ 2. if(0 = = fork()){ 3. printf(“create new process su转载 2015-08-29 12:01:21 · 1570 阅读 · 0 评论 -
(2.3.5)java关键字
访问控制: private 私有的 protected 受保护的 public 公共的类、方法和变量修饰符: abstract 声明抽象 class 类 extends 扩允,继承 final 终极,不可改变的 implements 实现 interface 接口 native 本地 new 创建 static 静态 strictfp 严格,精准 synchronize原创 2015-04-15 12:36:44 · 619 阅读 · 0 评论 -
(2.3.4)java基础题汇总
1-java创建对象的方法【1】new实例一个对象 【2】反射机制创建对象 Class c=Class.forNmae(“MyClass”); Base b=(Base) c.newInstance; 【3】clone()一个对象 【4】反序列化得到一个对象原创 2015-04-07 12:23:56 · 746 阅读 · 0 评论 -
(2.3.1.1)进程和线程关系及区别
资源管理方式不同:进程在执行过程中拥有独立的内存单元,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,线程共享进程资源并发级别不同:进程属于在处理器这一层上提供的抽象;线程则属于在进程这个层次上再提供了一层并发的抽象。具体意义不同:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本原创 2015-05-27 22:31:06 · 703 阅读 · 0 评论 -
(2.3.6)java变量的初始化之后的默认值
对于类的成员变量不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。 1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。2、单精度浮点型(float)的基本类型变量的默认值为0.0f。3、双精度浮点型(double)的基本类型变量的默认值为0.0d。4、字符型(char)的基本类型变量的默认为 “/u0000”。5、布尔性的基本类型变量的默认转载 2015-04-15 13:00:09 · 725 阅读 · 0 评论 -
(2.3.7)学习Javascript闭包(Closure)
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全转载 2015-04-18 14:53:38 · 572 阅读 · 0 评论 -
(2.3.2.2).NET中使用Redis
和传统的关系型数据库不同,NoSQL大部分都是以键值对存储在内存中的,我们不能直接把RDBMS里面的一些做法直接移植到NoSQL中来,一个最主要的原因是,在NoSQL中缺少RDBMS中的一些诸如join ,union以及一些在关系型数据库中效率很高的执行语句,这些在NoSQL不能很好的支持,或者说效率低。下文首先通过例子介绍在SQLServer中设计一个DB系统以及与NoSQL环境中设计一转载 2015-04-01 13:39:51 · 647 阅读 · 0 评论 -
(2.3.2.1)Redies在windows上的安装
Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博、Github、StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/。最近项目中需要使用Redis,这里简单记录一下Redis的安装,以及如何在.NET中使用Redis。Redis安装与启动1. 下载RedisRedis本身没有提供Window转载 2015-04-01 13:21:38 · 1429 阅读 · 0 评论 -
(2.3.2)JAVA使用高速缓存redis
大型项目中一般都会用到缓存,如果项目使用集群部署的话,每台机器如何共享缓存内容呢? 使用Redis可以做到让多台机器甚至多个应用之间共享缓存安装首先要有一台服务器安装功能Redis服务,下载地址:http://redis.io/下载到服务器后解压redis-2.6.14.tar.gztar -zxvf redis-2.6.14.tar.转载 2015-04-01 13:17:56 · 979 阅读 · 0 评论 -
(2.3.1)Java面试宝典:线程类
1-设计4个线程其中两个线程每次对j增加1另外两个线程对j每次减少11-设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1package com.yx.zzg;public class ThreadTest1 { private int j; public static void main(String args[]) { ThreadTest1 tt =转载 2015-03-18 10:48:07 · 588 阅读 · 0 评论 -
(2.3.2)Java爬虫
实用科普:爬虫技术浅析 编写爬虫应注意的点在乌云上看到一个关于爬虫的科普文,写的挺不错,文章里面提到的主要要关注的两个点是URL去重和相似URL过滤,如果写一个漏扫,爬虫在数据处理的效率非常重要,要考虑的点就更多了,有时间在补充 :D原文地址:http://drops.wooyun.org/tips/39150×00 前言网络爬虫(Web crawler),是一种“转载 2015-03-19 23:17:50 · 1123 阅读 · 0 评论