- 从零手写Tomcat核心架构:构建简易Servlet容器实战指南
bigH2004
tomcat架构servlet
一、自研Tomcat的意义与核心目标在当今分布式架构盛行的时代,理解Web容器底层原理是突破中间件黑盒的关键。本文将基于HTTP协议与Servlet规范,实现一个具备基础Servlet动态请求处理能力的精简版Tomcat(命名为MiniCat),其核心架构目标包括:HTTP通信层:实现TCP连接管理和基础报文解析生命周期管理:支持Servlet的init-service-destroy流程请求分发
- jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署
大敌
docker自动化运维jenkinsdocker运维
本环境非常简单,主要实现如下流程功能员工通过eclipse提交java代码———gitlab更新代码————jenkins通过maven编译打包————生成war包————制作docker镜像并上传到私有仓库————web服务器下载镜像————运行容器对外服务部分说明:jenkins服务器上已经安装了maven,并已配置。jenkins服务器上安装docker服务。(打包镜像,并上传至私有仓库)提
- JSP介绍(二)
frandiy
java开发语言
JSP介绍什么是JSPjsp(JavaServerPage)是JavaEE规范中的Web组件,用来编写动态页面。JSP文件以.jsp为后缀,通常存放在Eclipse的工程目录中的WebContent目录下,与静态资源使用方式非常相似。内容构成:JSP文件中的内容是HTML和Java代码的结合,静态部分使用HTML和文本,动态部分使用Java代码。Web容器处理JSP文件请求的三个阶段翻译阶段:We
- springboot项目如何部署到tomcat中
红豆和绿豆
javaspringboottomcat服务器
1、使用springboot内部嵌入的tomcat可以改一些tomcat的参数2、可以把springboot项目打包为war包,然后部署到tomcat中去SpringBoot默认使用嵌入式Tomcat作为其Web容器,这使得SpringBoot应用可以作为一个独立的JAR文件运行。这种嵌入式服务器的方式简化了部署过程,只需要Java环境即可运行。嵌入式Tomcat的特点简化部署:SpringBoo
- Java面试——SpringBoot
梅西库里RNG
面试javaspringboot面试
0、SpringBoot启动顺序先创建Spring容器,再启动web容器,再实例化dispatchServlet;如何启动web容器;先从spring容器中取出所有web容器类型,再通过配置的web容器名称与取出的类型匹配,匹配到1个就正常启动该web容器,没匹配的、或者匹配到多个就报错。1、Springboot的理解/Springboot的功能/Springboot的优缺点springboot是
- Spring Boot 需要独立的容器运行吗
秋恬意
springboot后端java
SpringBoot不需要独立的容器运行,它内置了一个嵌入式的Web服务器(如Tomcat、Jetty或Undertow),所以可以直接作为一个独立的应用程序运行,而不需要外部的Servlet容器。你只需要运行SpringBoot应用,它会自动启动嵌入式的Web容器并提供服务。具体来说:内嵌容器:SpringBoot内置了Tomcat(默认)、Jetty或Undertow等嵌入式Web容器。通过这
- Servlet容器的作用、HttpServlet的工作机制流程图
烟雨国度
servlet流程图hive
HttpServletRequest解析过程是否GETPOST其他方法Servlet生命周期init-初始化Servletservice-处理请求destroy-销毁ServletgetMethod返回HTTP方法getRequestURI返回请求URIgetQueryString返回查询字符串getParameter返回特定参数值客户端发送HTTP请求服务器接收请求Web容器创建ServletR
- docker_快速部署flask架构下的web容器
打败404
dockerflask架构
保证你的机器上安装了docker并正常启动可参考阿里镜像站dockerflask项目结构如下:my-flask-app/├──Dockerfile├──app.py├──requirements.txt└──config/└──settings.pymy-flask-app/这是你的项目根目录,包含了所有与Flask应用相关的文件和配置。Dockerfile这个文件包含了构建Docker镜像所需的
- Springboot下自定义监听器的使用
bugdaybyday
SpringCloud
Servlet和Springboot的关系springboot三大特性:组件自动装配:webMVC、webFlux、JDBC等(@EnableAutoConfiguration,@Configuration)嵌入式Web容器:Tomcat、Jetty以及undertow(简单说下我的理解,Spring的核心功能是IOC和DI。那么web部分,在springboot中肯定是做嵌入式的集成。Sprin
- 利用spring-boot-thin-launcher插件分离jar包的依赖和配置
飞空之羽
技术文章springbootmaven
SpringBoot项目可以通过spring-boot-maven-plugin插件打包生成一个可执行的jar包,这样可以脱离web容器(例如tomcat)直接运行。但默认情况下spring-boot-maven-plugin打出来的包是一个fatjar,即将所有的依赖全部打进了jar包当中,这样的jar包体积很大,每次更新系统的时候都需要完整替换整个jar包(本地还好,如果是云服务器,网速慢了每
- 现在程序员这么多,我学习java这块应该学到什么程度才能不被淘汰呢?
渡你眉间山河
一、夯实基础JavaSE这是基础,一定要好好学习!Java语法,面向对象(包括类、对象、方法、继承、封装、抽象、多态、消息解析等),常见API,数据结构,集合框架,设计模式(包括创建型、结构型、行为型),多线程和并发,I/O流,Stream,网络编程。JavaEEJavaEE是在JavaSE的基础上构建的,JavaEE容器,Web容器,常用框架(包括Struts2、Hibernate、Mybati
- Spring Boot 八股文
szc1767
八股文springbootjavaspring
目录重点SpringBoot中的核心注解介绍下SpringBoot的自动装配原理基础介绍下SpringBootSpringBoot有哪些优点Springboot常用注解SpringBoot中的监视器是什么?谈谈你对spring中starter的理解介绍几个常用的starterSpringBoot项目需要单独的Web容器吗Springboot项目启动方式Springboot如何解决跨域问题Sprin
- Tomcat的作用(自用)
w_3123454
大师我悟了tomcatjava容器
本文为个人笔记,记录自己对Tomcat的一些疑问,及搜索到的一些答案。不一定准确,仅供自用。。几个重要概念:容器,web容器,http服务,项目部署到Tomcatservlet是一种规范,Tomcat是运行servlet的一种容器文章目录1.[Tomcat是一个应用服务器](https://www.cnblogs.com/toSeeMyDream/p/6379330.html)2.Tomcat提供
- Flask中session失效时间设置
忘了呼吸的那只猫
最近需要使用Python开发web系统,主要用到的框架就是Flask,前端使用Jinja2模板引擎和Bootstrap,web容器使用Cherrypy,其中关于Login管理的使用了Flask-Login插件。基本上也是从零学起,前前后后花了有好几个月的时间,还是在借鉴了已有的一些项目基础上。在开发的过程中有很多的想法和体会,记录下来,有不对的地方欢迎大家指正。在处理登录管理的部分,在Flask-
- java访问web中静态资源_JavaWEB项目静态资源访问问题
杨晓杰
java访问web中静态资源
今天碰到一个问题,SSM项目WEB-INF目录下的静态资源例如.css.js.font等文件无法访问。百度了一下,需要配置SpringMvc对访问静态资源的支持。如果将DispatcherServlet请求映射配置为"/",则SpringMVC将捕获Web容器所有的请求,包括静态资源的请求,SpringMVC会将它们当成一个普通请求处理,因此找不到对应处理器将导致错误。这可能是个历史性的问题。由于
- Web容器、Servlet容器、Spring容器、SpringMVC容器之间的关系
weixin_30270889
javaweb.xml
以下内容为个人理解,如有误还请留言指出,不胜感激!Web容器web容器(web服务器)主要有:Apache、IIS、Tomcat、Jetty、JBoss、webLogic等,而Tomcat、Jetty、JBoss、webLogic同时也是servlet容器,或者说他们还包含了servlet容器。没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示
- web基础及http协议 (二) apache
白开水~不加糖
前端http网络协议
一、httpd安装组成http服务基于C/S结构1.常见http服务器程序httpdapache,存在C10K(10Kconnections)问题nginx解决C10K问题lighttpdIIS.asp应用程序服务器tomcat.jsp应用程序服务器jetty开源的servlet容器,基于Java的web容器ResinCAUCHO公司,支持servlets和jsp的引擎webshpere:IBM公
- Shiro-09-Session Management 会话管理
老马啸西风
web安全哈希算法密码学算法java安全
会话管理ApacheShiro在安全性框架世界中提供了一些独特的功能:适用于任何应用程序的完整的企业级Session解决方案,从最简单的命令行和智能手机应用程序到最大的群集企业Web应用程序。这对许多应用程序都有很大的影响-在Shiro之前,如果需要会话支持,则需要将应用程序部署在Web容器中或使用EJB状态会话Bean。Shiro的Session支持比这两种机制中的任何一种都更易于使用和管理,并
- 指纹识别描述
Lyx-0607
笔记
指纹由于其终身不变性、唯一性和方便性,几乎已成为生物特征识别的代名词。通常我们说的指纹就是人的手指末端正面皮肤上凸凹不平的纹线,纹线规律地排列形成不同的纹型。而本节所讲的指纹是指网站CMS指纹识别、计算机操作系统及Web容器的指纹识别等。应用程序一般在html、js、css等文件中多多少少会包含一些特征码,比如WordPress在robots.txt中会包含wp-admin、首页index.php
- JavaWeb之Servlet接口
程序员
Servlet接口什么是Servlet?Servlet是一种基于Java技术的Web组件,用于生成动态内容,由容器管理,是平台无关的Java类组成,并且由JavaWeb服务器加载执行,是Web容器的最基本组成单元什么是Servlet容器?Servlet容器作为Web服务器或应用服务器的一部分,通过请求和响应提供Web客户端与Servlets交互的能力,容器管理Servlet实例以及它们的生命周期(
- 资源抽象接口(Resource)和资源加载
yeren108
资源抽象接口(Resource) JDK所提供的访问资源的类(如java.net.URL,File等)并不能很好地满足各种底层资源的访问需求,比如缺少从类路径或者Web容器的上下文中获取资源的操作类。有鉴于此,Spring设计了一个Resource接口,它为应用提供了更强的访问底层资源的能力。该接口拥有对应不同资源类型的实现类。先来了解一下Resource接口的主要方法:booleanexist
- Java Web基础面试题
执着的逗比
1、jsp和servlet有什么区别?Servlet:1)一种服务器端的Java应用程序2)由Web容器加载和管理3)用于生成动态Web内容4)负责处理客户端请求Jsp:1)是Servlet的扩展,本质上还是Servlet2)每个Jsp页面就是一个Servlet实例3)Jsp页面会被Web容器编译成Servlet,Servlet再负责响应用户请求区别1)Servlet适合动态输出Web数据和业务逻
- Spring MVC实现Spring Security,Spring Stomp websocket Jetty嵌入式运行
神易风
使用Spring框架各个组件实现一个在线聊天网页,当有用户连接WebSocket,服务器监听到用户连接会使用Stomp推送最新用户列表,有用户断开刷新在线列表,实时推送用户聊天信息。引入Jetty服务器,直接嵌入整个工程可以脱离JavaWeb容器独立运行,使用插件打包成一个jar文件,就像SpringBoot一样运行,部署。pom.xml依赖UTF-8UTF-8UTF-89.4.8.v201711
- 服务器解析漏洞及任意文件下载
Passion-优
服务器运维
1.服务器文件解析漏洞文件解析漏洞,是指Web容器(Apache、nginx、iis等)在解析文件时出现了漏洞,以其他格式执行出脚本格式的效果。从而,黑客可以利用该漏洞实现非法文件的解析。(1)Apachelinux系统中的apache的php配置文件在/etc/apache2/mods-available这个目录下1.多后缀解析漏洞ApacheHTTPD支持一个文件拥有多个后缀,并为不同后缀执行
- jsp入门笔记
61etj
JSP动态页面技术脚本和注释jsp脚本jsp注释html注释:java注释://单行注释/*多行注释*/Jsp原理jsp第一次被访问的时候会被web容器翻译成servlet,在执行。Jsp翻译后会变成文件名_jsp.java此格式,保存在Tomcat根目录下的work文件夹内部其中Java代码会原封不动放置到翻译后的java文件中的service方法中,因此该java代码中不允许定义方法会翻译为o
- jsp与servlet的区别与联系
AshinX
区别:1)jsp经编译后就变成了servlet。(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2)jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。3)servlet中没有内置对象,jsp中的内置对象都是必须通过:HttpServletRequest对象、HttpServletResponse
- 架构演变及分布式解决方案
大能嘚吧嘚
微服务微服务架构分布式架构java微服务
架构单体架构所有的功能都集中在一个项目中,并部署在同一台服务器,往往一个功能的阻塞会导致整个应用的阻塞,最终导致整个服务器不可用,随着业务模块的不断拓展,代码的可读性、维护性越来越差,测试成本也越来越高单体架构下的集群部署:(Session共享问题:通过SpringSession+Redis实现分布式Session共享)通过负载均衡器+多WEB容器实例实现水平负载,提升系统的并发性和高可用性,但还
- 2019-01-20 常见的HTTP请求方法
NoelleMu
以下均为HTTP/1.1标准方法。GETGET方法用于获取请求页面的指定信息。如果请求资源为动态脚本,则返回文本是web容器解析后的HTML源代码,而不是源文件。使用GET请求时可以带上参数(如username=username,多个参数项以“&”分隔,如username=username&password=password),在服务器端脚本语言中可以选择性地接收这些参数。HEADHEAD方法除了
- CVE-2012-1823 漏洞复现
Jay 17
CVE复现网络安全web安全PHPRCE漏洞复现CVE
CVE-2012-1823PHPSAPI与运行模式首先,介绍一下PHP的运行模式。下载PHP源码,可以看到其中有个目录叫sapi。sapi在PHP中的作用,类似于一个消息的“传递者”,比如在《Fastcgi协议分析&&PHP-FPM未授权访问漏洞&&Exp编写》一文中介绍的fpm,他的作用就是接受Web容器通过fastcgi协议封装好的数据,并交给PHP解释器执行。除了fpm,最常见的sapi应该
- 一个 SpringBoot 项目能同时处理多少请求?
码灵
回归学习框架java面试开发语言
目录1问题分析2Demo3答案4怎么来的?5标准答案及影响参数一Tomcat配置6影响参数二Web容器7影响参数三Async1问题分析一个SpringBoot项目能同时处理多少请求?不知道你听到这个问题之后的第一反应是什么?我大概知道他要问的是哪个方向,但是对于这种只有一句话的面试题,我的第一反应是:会不会有坑?所以并不会贸然答题,先追问一些消息,比如:这个项目具体是干什么的?项目大概进行了哪些参
- 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