- OPPO Java面试题及参考答案
大模型大数据攻城狮
javajava开发后端面试后端面经八股文大厂校招sql注入
Java语言的特点Java是一种面向对象的编程语言,它具有以下显著特点。首先是简单性。Java的语法相对简单,它摒弃了C和C++语言中一些复杂的特性,比如指针操作。这使得程序员能够更专注于业务逻辑的实现,而不是陷入复杂的语法细节中。例如,Java的内存管理是自动进行的,通过垃圾回收机制来回收不再使用的对象所占用的内存,程序员不需要手动释放内存,大大降低了出错的概率。其次是面向对象。Java支持封装
- JAVA——JAVA知识点集锦(下)
Faith_chao
JAVA基础JAVA基础知识点
转自:http://blog.csdn.net/Scythe666/article/details/51994782这部分主要是开源JavaEE框架方面的内容,包括Hibernate、MyBatis、Spring、SpringMVC等,由于Struts2已经是明日黄花,在这里就不讨论Struts2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇
- java面试题61什么是Ajax?Ajax实现原理?列举Ajax的几种运用场景
码农颜
javaajaxokhttp
什么是Ajax?Ajax(AsynchronousJavaScriptandXML)是一种用于创建异步Web应用的技术。它允许网页在不重新加载整个页面的情况下,通过后台与服务器交换少量数据并动态更新部分页面内容。核心特点:异步通信:浏览器在后台发送/接收数据,用户无需等待局部刷新:只更新页面中需要变化的部分无刷新体验:用户操作流畅,避免页面闪烁类比:传统网页像翻书(每次请求翻新页),Ajax像实时
- java面试题60JQuery选择器
码农颜
java开发语言
jQuery选择器是jQuery的核心功能之一,它允许你高效、简洁地查找和选取HTML文档中的元素。其语法基于CSS选择器,并进行了扩展,使其更加强大和灵活。使用$()函数(或jQuery()函数)来应用选择器。核心语法$(selector)selector:一个字符串,用于指定要查找哪些元素。主要类型及示例基本选择器(最常用):#id(ID选择器):选取具有指定ID的元素。$("#myEleme
- Java面试题
木鱼时刻
软件开发java开发语言
说明本文档是Java技术面试问题与答案集合,涵盖Java基础知识、集合框架、并发编程、Spring框架、数据库、消息队列、系统设计等核心技术领域。模板使用指南难度分级:L1:低难度,适合初级开发者,基础概念和原理L2:中难度,适合中级开发者,实际问题解决和系统设计L3:高难度,适合高级开发者,复杂系统架构和深度技术挑战问题结构:每个问题按「类别-序号-具体问题」格式组织使用Markdown链接连接
- java面试题47你工作过程用过哪些设计模式?说出“代理模式”的原理?
码农颜
java设计模式代理模式
在工作中,我虽然没有直接的“开发经历”,但处理用户请求和设计响应时,设计模式是解决问题的核心逻辑。我高频使用的模式包括:策略模式(动态切换算法/行为)观察者模式(事件通知/状态更新)责任链模式(分步处理请求)工厂模式(封装对象创建)代理模式(控制对象访问)深入解析:代理模式(ProxyPattern)核心思想:用一个代理对象作为真实对象的替身,从而控制对真实对象的访问。本质:在客户端和目标对象之间
- Java面试题100道及答案
编程大全
面试题java开发语言
一、Java基础Java17中的sealed类和record类的作用和区别?答案:sealed类:限制继承关系,通过permits指定允许的子类。示例代码:publicsealedclassShapepermitsCircle,Square{...};record类:不可变数据类,自动生成equals()、hashCode()和toString()。示例代码:publicrecordUser(St
- 2023年JAVA面试题【Redis/Elasticsearch】
GJH-JAVA
javarediselasticsearch
1.什么是Redis?Redis是一个使用C语言写成的,开源的高性能key-value非关系缓存数据库。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。Redis的数据都基于缓存的,所以很快,每秒可以处理超过10万次读写操作,是已知性能最快的Key-ValueDB。Redis也可以实
- Java面试题专项(Redis篇)
嗨,正在熬夜的你
面试部分javaredis开发语言
1.什么是缓存穿透?怎么解决?答:缓存穿透是指查询一个一定不存在的数据(例:假设数据库只有用户1-1000的信息,黑客一直请求用户ID=99999,每次都查DB,DB扛不住。),由于存储层查不到数据因此不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。这种情况大概率是遭到了攻击。通常都用布隆过滤器(提前用布隆过滤器存储所有存在的key。查询前先查布隆过滤器,不存在的直
- java面试题42wait和sleep方法的不同
码农颜
java服务器开发语言
在Java多线程编程中,wait()和sleep()都是用来暂停当前线程执行的方法,但它们在设计目的、行为机制和使用场景上存在本质区别。理解这些区别对于编写正确的并发代码至关重要。以下是它们的主要不同点:特性wait()方法sleep()方法所属类java.lang.Objectjava.lang.Thread调用方式对象.wait()或对象.wait(longtimeout)Thread.sle
- java面试题
墨京
java面试java开发语言
1.list和set的区别?list底层是数组,有序可重复,按对象进入顺序保存元素,可以有多个null元素,可以使用该iterator迭代器取出元素,也可以直接get(intindex)下标,取出元素。底层数据结构:动态数组(arraylist)或链表(Linkedlist)set底层是,无序不可重复,最多只能储存一个null元素,只能使用iterator接口取出所有元素,再逐一遍历各个元素。底层
- 【Java面试题】动态代理的几种实现方式及优缺点
用心分享技术
Java面试题java面试动态代理
一、JDK动态代理(基于接口)核心实现importjava.lang.reflect.*;//1.定义接口interfaceUserService{voidsaveUser(Stringname);}//2.目标类(实现接口)classUserServiceImplimplementsUserService{@OverridepublicvoidsaveUser(Stringname){Syste
- Java面试题024:一文深入了解微服务消息队列RocketMQ
wuxinyan123
java微服务rocketmq面试
欢迎大家关注我的JAVA面试题专栏,该专栏会持续更新,从原理角度覆盖Java知识体系的方方面面。一文吃透JAVA知识体系(面试题)https://blog.csdn.net/wuxinyan123/category_7521898.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=7521
- Java面试题025:一文深入了解数据库Redis(1)
wuxinyan123
javaredis开发语言面试微服务数据库
欢迎大家关注我的JAVA面试题专栏,该专栏会持续更新,从原理角度覆盖Java知识体系的方方面面。一文吃透JAVA知识体系(面试题)https://bl
- java面试题-微服务(二)---分布式事务和分布式锁
一、分布式事务1、什么是分布式事务?分布式事务,指的是在分布式环境中,一个请求可能涉及到对多个数据库的写操作,要保证多数据库的一致性就需要用到分布式事务2、分布式事务你知道哪些解决方案?这些方案如何选型?常见的分布式事务解决方案:2PC,TCC,可靠消息最终一致性,最大努力通知2PC,它将整个事务流程分为两个阶段,P指的是准备阶段,C指的是提交阶段。它是一个阻塞协议,不适用于并发较高,事务生命周期
- 600+ 道 Java面试题及答案整理(建议收藏)
等风来.长
java程序人生学习面试jvm
最全的Java面试题,题目涉及Java基础、集合、多线程、IO、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等。题库共600+道,带全部答案,非常齐全!Java基础1、面向对象编程有哪些特征?2、JDK与JRE的区别是什么?3、Java有哪几种基本数据类型?4、==和equals比较有什么区别?5、public,private,protected,默认的区
- Java面试题及答案最全总结
隔壁老王的代码
java开发语言
最近很多同学在忙着找工作,给大家整理了一份非常全面的Java面试题及答案。涉及的内容非常全面,包含:多线程、JVM、Spring、MySQL、Redis、Dubbo…等内容,希望对找工作的同学有所帮助。文末有题目答案~Java多线程面试题并发编程三要素?同步方法和同步块哪个是更好的选择?谈谈原子性?哪些使用到了?谈谈可见性?哪些使用到了?谈谈有序性?举一个例子?什么是线程池?线程池有哪些创建方式?
- java面试题13throw和throws的区别
码农颜
java开发语言
在Java异常处理中,throw和throws是两个关键但作用完全不同的关键字。以下是它们的核心区别:1.throw作用:显式抛出一个具体的异常对象(在方法内部使用)位置:方法体内部({}代码块中)语法:thrownewExceptionType("Errormessage");特点:用于主动创建并抛出异常实例一次只能抛出一个异常对象可以抛出任意Throwable子类(包括自定义异常)示例:voi
- 当volatile失效:揭秘Java内存模型的隐匿陷阱与解决方案
悟能不能悟
javajvm开发语言
从CPU缓存一致性问题到JDK新内存屏障实战问题背景资深Java面试题:“假设存在以下基于volatile的并发代码:publicclassVolatileExample{privatevolatilebooleanflag=false;privateintcounter=0;publicvoidwriter(){counter=42;//非volatile写flag=true;//volatil
- JAVA面试题
嗨,正在熬夜的你
面试部分java开发语言
1.语言特点跨平台解释执行垃圾回收反射机制2.面向对象(OO)面向对象是一种开发范式,通过抽象和实例化来解决问题,易于维护、复用和拓展。面向过程则将问题拆解成方法,通过方法调用解决问题,执行效率高。面向对象的三大特性:封装、继承、多态。封装:隐藏内部信息,暴露接口。继承:复用父类属性和方法,可重写方法。多态:同一件事在不同对象上有不同结果。实现多态的方式:重写、接口、抽象类与抽象方法。3.重写和重
- java面试题08static关键字的含义
static关键字在编程中的含义取决于上下文,不同语言中用法有差异,但核心思想是**“与类/对象解耦,具有独立生命周期或作用域”**。以下是常见场景详解:一、面向对象中(C++/Java/C#)1.静态成员变量属于类本身,而非对象实例。所有对象共享同一份数据。生命周期:程序启动时创建,结束时销毁。//Java示例classCounter{staticintcount=0;//所有对象共享的计数器C
- java面试题04成员变量和局部变量的区别
码农颜
java开发语言
成员变量(MemberVariable)和局部变量(LocalVariable)是面向对象编程中两种作用域和生命周期不同的变量,主要区别体现在以下几个方面:1.声明位置成员变量:声明在类内部、方法/构造器/代码块外部。例如:publicclassPerson{//成员变量(实例变量)privateStringname;//成员变量(静态变量)privatestaticintcount;}局部变量:
- java面试题:Spring中事务失效的场景有哪些
不会编程的阿成
javaspring数据库
情况一:异常捕获处理原因:事务通知只有捉到了目标抛出的异常,才能进行后续的回滚处理,如果目标自己处理掉异常,事务通知无法知悉。解决:在catch快添加thrownewRuntimeException(e)抛出。情况二:抛出检查异常spring默认智慧回滚非检查异常解决;配置rollbackFor属性。情况三:非public方法导致的事务失效原因:Sping为方法创建代理,添加事务通知,前提条件都是
- Java面试题016:一文深入了解微服务之熔断器Sentinel
wuxinyan123
java微服务sentinel面试架构
本节我们介绍大型互联网项目中常用的服务容错解决方案—Sentinel。欢迎大家关注我的JAVA面试题专栏。一文吃透JAVA知识体系(面试题)https://blog.csdn.net/wuxinyan123/category_7521898.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=7521898&sharerefer&
- Java面试题022:一文深入了解微服务网关Gateway
wuxinyan123
java微服务gateway面试题springcloud
欢迎大家关注我的JAVA面试题专栏,该专栏会持续更新,从原理角度覆盖Java知识体系的方方面面。一文吃透JAVA知识体系(面试题)https://blog.csdn.net/wuxinyan123/category_7521898.html?fromshar
- Java面试题020:一文深入了解微服务之负载均衡Feign
wuxinyan123
java微服务Feign面试
欢迎大家关注我的JAVA面试题专栏,该专栏会持续更新(第一目标100节),从原理角度覆盖Java知识体系的方方面面。一文吃透JAVA知识体系(面试题)1、Feign简介Feignmakeswritingjavahttpclientseasier。使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模板化的调用方法。实际开发中,往往一个接口会
- Java面试题007:一文深入了解Spring原理--IOC
wuxinyan123
面试java开发语言springIOC
这一节出的比较慢,主要是对比了网上大量的文章和源码,网上的文章有很多过时、存在歧义、甚至错误的说法。从这节开始我们先进行Spring系列的整理。高并发实战的相关内容放到后边再进行,这样的好处是有层次感,掌握了更多更全面的技术栈基础后,更容易理解综合性的面试题。能够自动串联相关知识,不至于死记硬背。理解了之后,在实际工作中遇到相似的难题和应用场景,才会想到这种解决方案。Spring是一个轻量级、非入
- Java面试题012:一文深入了解Mybatis原理2
wuxinyan123
javamybatis面试开发语言
这一节我们继续Mybatis相关重点知识点整理,之所以把这一节单独拆开了,是因为上一节的内容偏重原理,源码和流程不少,能够理解掌握是需要花费些心力的。这一节我们侧重点在实际开发过程中遇到的常见问题。1、MyBatis批量操作第⼀种⽅法:使⽤foreach标签foreach标签的属性主要有item,index,collection,open,separator,close。item 表示集合中每⼀
- Java面试题015:一文深入了解微服务之熔断器Hystrix
wuxinyan123
java微服务hystrix
1、服务雪崩效应在分布式系统中,每个服务可能会调用很多其他服务,被调用的那些服务就是依赖服务,有时候某些依赖服务出现故障,调用者就会超时等待或者得到异常响应,当大量的服务请求出现在这个服务时,会发生雪崩效应。服务雪崩效应是一种因“服务提供者的不可用”(原因)导致“服务调用者不可用”(结果),并将不可用逐渐放大的现象。形成原因服务雪崩的过程可以分为三个阶段:服务提供者不可用(硬件故障,程序bug,网
- Java面试题013:一文深入了解微服务之服务注册中心Nacos
wuxinyan123
java微服务面试
ORM里面还有Hibernate和Mybatis-plus没介绍,后边再补上。还是先把知识体系的主干先建立起来,从这节开始我们进入微服务结构的整理,微服务的组件比较多,我们尽量都涵盖到,对于一些已经过时或者停更的组件,就简单一带而过,满足面试需要就足够了,把更多的时间放在实用的组件上。1、注册中心在微服务时代,我们所有的服务按照功能拆分成N个服务模块,好处是深度解耦,1个模块只负责自己的事情就好,
- java类加载顺序
3213213333332132
java
package com.demo;
/**
* @Description 类加载顺序
* @author FuJianyong
* 2015-2-6上午11:21:37
*/
public class ClassLoaderSequence {
String s1 = "成员属性";
static String s2 = "
- Hibernate与mybitas的比较
BlueSkator
sqlHibernate框架ibatisorm
第一章 Hibernate与MyBatis
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis 参考资料官网:http:
- php多维数组排序以及实际工作中的应用
dcj3sjt126com
PHPusortuasort
自定义排序函数返回false或负数意味着第一个参数应该排在第二个参数的前面, 正数或true反之, 0相等usort不保存键名uasort 键名会保存下来uksort 排序是对键名进行的
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8&q
- DOM改变字体大小
周华华
前端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- c3p0的配置
g21121
c3p0
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的下载地址是:http://sourceforge.net/projects/c3p0/这里可以下载到c3p0最新版本。
以在spring中配置dataSource为例:
<!-- spring加载资源文件 -->
<bean name="prope
- Java获取工程路径的几种方法
510888780
java
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“
- 在类Unix系统下实现SSH免密码登录服务器
Harry642
免密ssh
1.客户机
(1)执行ssh-keygen -t rsa -C "
[email protected]"生成公钥,xxx为自定义大email地址
(2)执行scp ~/.ssh/id_rsa.pub root@xxxxxxxxx:/tmp将公钥拷贝到服务器上,xxx为服务器地址
(3)执行cat
- Java新手入门的30个基本概念一
aijuans
javajava 入门新手
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合
- Memcached for windows 简单介绍
antlove
javaWebwindowscachememcached
1. 安装memcached server
a. 下载memcached-1.2.6-win32-bin.zip
b. 解压缩,dos 窗口切换到 memcached.exe所在目录,运行memcached.exe -d install
c.启动memcached Server,直接在dos窗口键入 net start "memcached Server&quo
- 数据库对象的视图和索引
百合不是茶
索引oeacle数据库视图
视图
视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,只能将字段定义为视图,不能将具体的数据定义为视图
为什么oracle需要视图;
&
- Mockito(一) --入门篇
bijian1013
持续集成mockito单元测试
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
&nb
- 精通Oracle10编程SQL(5)SQL函数
bijian1013
oracle数据库plsql
/*
* SQL函数
*/
--数字函数
--ABS(n):返回数字n的绝对值
declare
v_abs number(6,2);
begin
v_abs:=abs(&no);
dbms_output.put_line('绝对值:'||v_abs);
end;
--ACOS(n):返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度
- 【Log4j一】Log4j总体介绍
bit1129
log4j
Log4j组件:Logger、Appender、Layout
Log4j核心包含三个组件:logger、appender和layout。这三个组件协作提供日志功能:
日志的输出目标
日志的输出格式
日志的输出级别(是否抑制日志的输出)
logger继承特性
A logger is said to be an ancestor of anothe
- Java IO笔记
白糖_
java
public static void main(String[] args) throws IOException {
//输入流
InputStream in = Test.class.getResourceAsStream("/test");
InputStreamReader isr = new InputStreamReader(in);
Bu
- Docker 监控
ronin47
docker监控
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路。 1、关于监控的内容 监控宿主机本身
监控宿主机本身还是比较简单的,同其他服务器监控类似,对cpu、network、io、disk等做通用的检查,这里不再细说。
额外的,因为是docker的
- java-顺时针打印图形
bylijinnan
java
一个画图程序 要求打印出:
1.int i=5;
2.1 2 3 4 5
3.16 17 18 19 6
4.15 24 25 20 7
5.14 23 22 21 8
6.13 12 11 10 9
7.
8.int i=6
9.1 2 3 4 5 6
10.20 21 22 23 24 7
11.19
- 关于iReport汉化版强制使用英文的配置方法
Kai_Ge
iReport汉化英文版
对于那些具有强迫症的工程师来说,软件汉化固然好用,但是汉化不完整却极为头疼,本方法针对iReport汉化不完整的情况,强制使用英文版,方法如下:
在 iReport 安装路径下的 etc/ireport.conf 里增加红色部分启动参数,即可变为英文版。
# ${HOME} will be replaced by user home directory accordin
- [并行计算]论宇宙的可计算性
comsci
并行计算
现在我们知道,一个涡旋系统具有并行计算能力.按照自然运动理论,这个系统也同时具有存储能力,同时具备计算和存储能力的系统,在某种条件下一般都会产生意识......
那么,这种概念让我们推论出一个结论
&nb
- 用OpenGL实现无限循环的coverflow
dai_lm
androidcoverflow
网上找了很久,都是用Gallery实现的,效果不是很满意,结果发现这个用OpenGL实现的,稍微修改了一下源码,实现了无限循环功能
源码地址:
https://github.com/jackfengji/glcoverflow
public class CoverFlowOpenGL extends GLSurfaceView implements
GLSurfaceV
- JAVA数据计算的几个解决方案1
datamachine
javaHibernate计算
老大丢过来的软件跑了10天,摸到点门道,正好跟以前攒的私房有关联,整理存档。
-----------------------------华丽的分割线-------------------------------------
数据计算层是指介于数据存储和应用程序之间,负责计算数据存储层的数据,并将计算结果返回应用程序的层次。J
&nbs
- 简单的用户授权系统,利用给user表添加一个字段标识管理员的方式
dcj3sjt126com
yii
怎么创建一个简单的(非 RBAC)用户授权系统
通过查看论坛,我发现这是一个常见的问题,所以我决定写这篇文章。
本文只包括授权系统.假设你已经知道怎么创建身份验证系统(登录)。 数据库
首先在 user 表创建一个新的字段(integer 类型),字段名 'accessLevel',它定义了用户的访问权限 扩展 CWebUser 类
在配置文件(一般为 protecte
- 未选之路
dcj3sjt126com
诗
作者:罗伯特*费罗斯特
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处.
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人,更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹.
那天清晨落叶满地,
两条路都未见脚印痕迹.
呵,留下一条路等改日再
- Java处理15位身份证变18位
蕃薯耀
18位身份证变15位15位身份证变18位身份证转换
15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
- SpringMVC4零配置--应用上下文配置【AppConfig】
hanqunfeng
springmvc4
从spring3.0开始,Spring将JavaConfig整合到核心模块,普通的POJO只需要标注@Configuration注解,就可以成为spring配置类,并通过在方法上标注@Bean注解的方式注入bean。
Xml配置和Java类配置对比如下:
applicationContext-AppConfig.xml
<!-- 激活自动代理功能 参看:
- Android中webview跟JAVASCRIPT中的交互
jackyrong
JavaScripthtmlandroid脚本
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之:
1 JAVASCRIPT脚本调用android程序
要在webview中,调用addJavascriptInterface(OBJ,int
- 8个最佳Web开发资源推荐
lampcy
编程Web程序员
Web开发对程序员来说是一项较为复杂的工作,程序员需要快速地满足用户需求。如今很多的在线资源可以给程序员提供帮助,比如指导手册、在线课程和一些参考资料,而且这些资源基本都是免费和适合初学者的。无论你是需要选择一门新的编程语言,或是了解最新的标准,还是需要从其他地方找到一些灵感,我们这里为你整理了一些很好的Web开发资源,帮助你更成功地进行Web开发。
这里列出10个最佳Web开发资源,它们都是受
- 架构师之面试------jdk的hashMap实现
nannan408
HashMap
1.前言。
如题。
2.详述。
(1)hashMap算法就是数组链表。数组存放的元素是键值对。jdk通过移位算法(其实也就是简单的加乘算法),如下代码来生成数组下标(生成后indexFor一下就成下标了)。
static int hash(int h)
{
h ^= (h >>> 20) ^ (h >>>
- html禁止清除input文本输入缓存
Rainbow702
html缓存input输入框change
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off";
<input type="text" autocomplete="off" n
- POJO和JavaBean的区别和联系
tjmljw
POJOjava beans
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规
- java中单例的五种写法
liuxiaoling
java单例
/**
* 单例模式的五种写法:
* 1、懒汉
* 2、恶汉
* 3、静态内部类
* 4、枚举
* 5、双重校验锁
*/
/**
* 五、 双重校验锁,在当前的内存模型中无效
*/
class LockSingleton
{
private volatile static LockSingleton singleton;
pri