- Spring Cloud 微服务实战:网关那些事儿
Leaton Lee
springcloudspring
引言:网关在微服务架构中的重要地位在微服务架构中,网关(Gateway)扮演着“守门人”的角色。它不仅是前后端交互的唯一入口,还承担着路由、过滤、负载均衡、安全控制等多种职责。对于一个微服务系统来说,网关的设计和实现直接决定了系统的性能、安全性和可扩展性。我深知网关是大厂面试中的高频考点。无论是BAT还是其他一线互联网公司,面试官总会围绕网关的设计与实现提出一系列问题。例如:如何实现灰度发布?如何
- spring cloud k8s kubesphere 灰度发布改造(包含gateway)
山巅
Kubernetes#SpringCloud&Alibabaspringcloudkubernetesgatewaykubesphere灰度发布
Kubernetes如何通过ingress-nginx实现应用灰度发布?在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝绿发布:两套独立的系统,对外提供服务的称为绿系统,待上线的服务称为蓝系统,当蓝系统里面的应用测试完成后,用户流量接入蓝系统
- 在K8S中,如何实现金色雀发布(灰度发布)?蓝绿发布?
Dusk_橙子
K8Skubernetes容器云原生
在kubernetes中,可以通过不同的策略来实现金丝雀发布和蓝绿发布。以下是两种发布方式在K8S中基本实现方法:金丝雀发布1.基于Deployment创建一个Deployment对象用于运行现有应用版本(稳定版本)。修改Deployment的副本集规则(replicas),增加一部分副本数,并指定新版本镜像。使用kubectlsetimage命令更新部分Pod至新版本,或者在Deployment
- 架构 | 基于 crontab 进程监控增强集群可用性
问仙长何方蓬莱
架构
INDEX§0前言§1思路§2实现§0前言集群的高可用性可以直接简明的使用SLA来衡量,无所谓其他指标。正常来讲,高可用对应了一整套方案,包括预防:降低故障概率发现:快速发现故障、甚至定位问题恢复:快速恢复集群,这里只强调恢复集群可用性说白了就是降低发病频率,然后早发现早治疗预防降低故障概率有两个主要方向完善工作流程:包括制定研发红线、编码规范、测试规范、标准上线流程比如,将灰度发布、线上验证、全
- k8s nginx ingress原理解读
鲫鱼哥
nginxkubernetes
阅读本文需要以下知识为前提了解k8s基本架构,k8s基本资源清单用自己的k8s实验环境首先了解ingress解决了什么问题k8s内部项目暴露外部访问,只用一个固定端口,暴露多个服务。相对于:LoadBlancerService、NodePortService更灵活更方便。pod漂移后的ip变化,自动识别podip修改nginx配置不用reload加载实现灰度发布(根据流量或者http请求头进行灰度
- Nacos 在微服务项目中的实战应用
DebugDiver代码深处潜水员
三方件微服务架构云原生
Nacos在微服务项目中的实战应用1.引言2.项目背景3.Nacos在服务注册与发现中的应用3.1服务注册3.2服务发现4.Nacos在配置管理中的应用4.1配置中心设置4.2在服务中使用配置5.Nacos实现动态路由6.Nacos实现服务限流7.Nacos实现灰度发布8.最佳实践与注意事项结论1.引言在当今的微服务架构中,服务发现和配置管理是两个核心挑战。Nacos作为阿里巴巴开源的服务发现和配
- 【稳定性】上线三板斧(可灰度、可验证、可回滚)
架构
作者:京东物流冯志文背景从研发的流程阶段来看,在确定产品需求后,我们会经历架构设计、编码、测试、联调验证和上线这几个阶段来交付系统。在这个过程中,我们需要特别关注上线环节,因为它是事故高发的阶段。为了应对这种情况,我们实施了严格的发布标准操作程序,简称为“发布三板斧”。这包括可灰度发布、可验证发布和可回滚发布。通过这三个步骤,我们可以确保在发布过程中尽量减少风险,提高系统的稳定性和可靠性。一
- [K8S] K8S资源控制器Controller Manager(4)
XJzz3
K8Skubernetes容器
文章目录1.常见的Pod控制器及含义2.ReplicationController控制器2.1部署ReplicaSet3.Deployment3.1部署Deployment3.2运行Deployment3.3镜像更新方式3.4Deployment扩容3.5滚动更新3.6金丝雀发布(灰度发布)3.7Deployment版本回退3.8Deployment更新策略4.DaemonSet4.1Daemon
- Apache APISIX 介绍
D哈迪斯
服务器apache
ApacheAPISIX是一个动态、实时、高性能的云原生API网关,属于Apache软件基金会旗下的项目。以下是对ApacheAPISIX的详细介绍:一、基本概述定义:ApacheAPISIX是一个提供丰富流量管理功能的云原生API网关。功能:包括负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等。应用场景:既可以处理传统的南北向流量(客户端到服务器的流量),也可以处理服务间的东西向流量
- 基于springcloud gateway + nacos实现灰度发布
BUG指挥官
Spring相关架构讲解springcloudgateway分布式
什么是灰度发布?灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/Btesting,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。本文以springcloudgateway+nacos
- 什么是软件 Delivery 流程中的灰度发布
软件软件工程软件开发
软件Delivery流程中的灰度发布详解引言在现代软件开发中,软件交付(Delivery)是一个复杂而关键的过程。为了确保高质量、稳定性和用户体验,开发团队采用了各种策略和技术。其中,灰度发布(灰度发布)是一种在软件交付中逐步推出新功能或版本的策略,以降低风险并最大程度地保障用户体验。什么是灰度发布?灰度发布是指将新功能、版本或变更以渐进的方式引入生产环境,逐步向用户群体发布,而不是一次性将其推送
- Spring Cloud微服务网关Zuul灰度发布入门实战
NullzzZ
SpringCloud系列文章微服务springcloud微服务springjavaspringboot
一、灰度发布灰度发布是指在系统迭代的时候一种平滑过度上线发布方式。灰度发布是在原有的系统的基础上面,额外增加一个新版本,这个新版本包含新上线的需要验证的功能,通过负载均衡引入部分流量到新版本的应用上,如果在这个过程中没有出现问题,便可以平滑地把线上的应用一步步替换成新的版本,这样就完成了一次灰度发布。通过灰度发布的方式可以在用户无感的情况下完成系统发版升级。二、基于Eureka的metadata实
- 阿里云上关于EDAS发布方式
编织幻境的妖
阿里云云计算
1.描述蓝绿部署和灰度发布的区别以及适用场景。蓝绿部署和灰度发布是两种常见的软件发布策略,它们各有特点并适用于不同的场景。蓝绿部署的特点:目的:蓝绿部署的主要目的是减少发布时的中断时间,并且能够在新版本出现问题时快速回滚到旧版本。机制:在蓝绿部署中,通常会有两套完全相同的生产环境,一套运行当前的版本(称为“蓝色”环境),另一套用于部署新版本(称为“绿色”环境)。一旦新版本准备就绪,流量会迅速切换到
- Spring Cloud灰度发布方案----ribbon框架
易佰菜鸟
代码文档springcloud灰度发布金丝雀发布eureka
SpringCloud灰度发布方案----ribbon框架SpringCloud灰度发布方案(自定义路由规则)请移步:https://blog.csdn.net/han949417140/article/details/121420529一、简介1.1不停机部署服务策略介绍蓝绿部署蓝绿部署的模型中包含两个集群A和B1、在没有上线的正常情况下,集群A和集群B的代码版本是一致的,并且同时对外提供服务。
- nginx+lua+redis实现灰度发布 | 京东云技术团队
前言:授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言)一、灰度方案:常见的灰度实现方案:请求路由:通过请求中的标识(如用户ID、设备ID、请求头等)来决定
- Apache Apisix网关系统历史漏洞复现分析
Tr0e
漏洞分析Apisix漏洞
文章目录前言CVE-2020-13945默认api令牌CVE-2021-45232未授权接口2.1默认账户密码导致RCE2.2未授权访问api接口RCECVE-2022-24112地址限制绕过CVE-2022-29266JWT令牌伪造4.1漏洞源码简析与修复4.2漏洞环境搭建与复现总结前言ApacheAPISIX是一个动态、实时、高性能的API网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份
- 第29件事 评估需求的8种方法_下
一一休
4.伪测试伪测试指的是先不实现功能,只提供一个按钮接或文字链接或图片入口,用户点击之后提示此功能正在建设当中。根据用户的点击率数据情况来决定是否实现该功能。这也是灰度发布的一种形式。5.PK法PK法指的是正反两方就某一个功能或需求进行投票PK,比如说,支持和反对。然后根据数据情况,再决定是否该做。6.专家法专家法指的是由相关的产品专家、用户体验专家、产品运营专家等一起来评估需求是否该做,这种方法主
- 灰度发布浅见
小强聊it
灰度发布
在之前的稳定性生产文章中有一项对于研发人员比较重要的措施是变更管控,关于变更管控其实在实际生产活动中有很多措施,因为对于不太的行业,其行业特点和稳定性生产的要求也不一样,例如下图,我们可以看到信通院调研的不同行业的特点区别确实是很不同的,如果拿着互联网的经验去能源、证券这类监管和稳定性要求特别高的行业来实施,那可能要经常面临罚款甚至停业整顿的处罚。但是我自己的经验只是在互联网比较多,所以本次只能介
- OpenResty+Lua实现灰度发布
他爱向着欢乐
Luaopenresty灰度发布luaopenresty开发语言
OpenResty+Lua实现灰度发布业务场景用户通过浏览器发送一个请求给openresty,openresty调用lua脚本获取用户id地址,并查看该ip地址是否存在redis中,如果存在则让用户访问v2.0版本,否则让用户访问v1.0版本。如图所示:实现方案配置文件nginx.confhttp.confapp1.confapp2.confLua脚本abtest.lua实现流程请求先进入open
- Openresty+Lua+Redis实现高性能缓存
风萧萧兮s
NginxRedisSpringCloud缓存openrestyluaredis
一、背景当我们的程序需要提供较高的并发访问时,往往需要在程序中引入缓存技术,通常都是使用Redis作为缓存,但是要再更进一步提升性能的话,就需要尽可能的减少请求的链路长度,比如可以将访问Redis缓存从Tomcat服务器提前Nginx原本访问缓存逻辑User--->Nginx->Tomcat->RedisUser--->Nginx->Redis二、介绍1OpenResty介绍OpenResty®是
- uWSGI、灰度发布、网站数据指标分析、网站限速
Mick方
linuxpython运维nginxtcp/ip
1案例1:部署Python网站项目1.1问题配置Nginx使其可以将动态访问转交给uWSGI:1.2方案安装Python工具及依赖安装uWSGI并编写配置文件1.3步骤实现此案例需要按照如下步骤进行。步骤一:首先$教学资料目录/python拷贝到虚拟机1)安装python依赖软件[root@proxypython]#yum-yinstallgccmakepython3python3-devel2)
- 27. 云原生流量治理之kubesphere灰度发布
野心与梦
私有云+云原生实战云原生
云原生专栏大纲文章目录灰度发布介绍灰度发布策略KubeSphere中恢复发布策略蓝绿部署金丝雀发布流量镜像灰度发布实战部署自制应用金丝雀发布创建金丝雀发布任务测试金丝雀发布情况蓝绿部署创建蓝绿部署测试蓝绿部署情况流量镜像创建流量进行任务测试流量镜像情况灰度发布真实案例分析灰度发布介绍灰度发布(GrayRelease)是一种软件发布策略,用于逐步将新版本的软件或功能引入到生产环境中,以减少潜在的风险
- 软件开发:大厂中的灰度发布到底是什么样的一个流程
ABin-阿斌
各大实战问题分析linuxjava
前言灰度发布是一种软件发布的策略,也被称为渐进式发布或部分用户发布。在灰度发布中,新版本的软件不会立即对所有用户进行全面发布,而是先选择一小部分用户进行测试和试用。这样可以在生产环境中逐步引入新功能或修复bug,以降低潜在的风险。灰度发布流程大厂的灰度发布流程通常包括以下几个步骤:制定灰度策略:在进行灰度发布之前,需要先制定灰度策略。灰度策略包括选择灰度发布的对象、发布的时间节点、发布的版本等内容
- 实战:Traefik 高级配置3-2022.1.23
一念一生~one
k8skubernetestraefik
目录文章目录目录实验环境实验软件1、灰度发布演示1:traefik实现灰度发布(成功测试)2、流量复制演示1:traefik实现流量复制(成功测试)3、TCP1.简单TCP服务演示1:简单的TCP服务(成功测试)2.带TLS证书的TCP演示1:带TLS证书的TCP(成功测试)4、UDP演示1:UDP测试(成功测试)5、多控制器关于我最后实验环境实验环境:1、win10,vmwrokstation虚
- 【云原生技术】Kubernetes 发布方式-灰度发布
阿寻寻
云原生技术云原生kubernetesjava
Kubernetes发布方式-灰度发布一、Kubernetes发布方式有哪些二、灰度发布1、灰度发布工作原理1.小规模开始2.监控和评估3.扩展或回滚4.完全部署实现机制2、灰度发布操作步骤示例1(使用Istio)步骤1:准备两个版本的DeploymentDeploymentforv1Deploymentforv2步骤2:创建一个Service来路由流量步骤3:
- 10-Nacos-灰度发布配置
宣晨光
nacos灰度发布
用于生产上线后,针对指定主机IP做定向测试1、在配置编辑中,勾选Beta发布,在文本框中勾选需要下发服务的IP地址,多个用英文逗号分隔。正式版:这个是针对除了Beta版中指定的IP服务生效Beta版:灰度配置,只对特定的IP生效底部有两个按钮,功能如下:停止Beta:直接删除灰度配置发布将灰度配置发布到正式版,将会覆盖掉正式的配置1、配置文件开启Beta模式2、服务指定版本
- 放弃Nacos作为配置中心,转而选择这款神器~
ღ᭄陽先生꧔ꦿ᭄
java
目前,我们所有微服务的配置中心都没有采用Nacos,而是选择了另一款携程开源的分布式配置中心Apollo,今天就跟大家详细介绍一下这款神级配置中心1.基本概念由于Apollo概念比较多,刚开始使用比较复杂,最好先过一遍概念再动手实践尝试使用。1.1、背景随着程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来越高,配置修改后实时生效,灰度发布
- 微服务b2b b2c o2o java 电子商务 云平台
swiftie10
大型企业分布式微服务云架构服务组件实现模块化、微服务化、原子化、灰度发布、持续集成commonserviceeurekaNetflix云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。commonserviceconfigSpring配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。Spring
- 前端静态资源基于ingress的pre灰度和多版本发布实现
贾宝玉的贾
灰度发布ingress灰度多版本静态资源
参考资料:通过Ingress实现灰度发布和蓝绿发布-容器服务ACK-阿里云Pre发布(1在CI/DI灰度环境菜单中选择对应项目进行pre发布(发布前,确认原类型是ingress,并且填上RoutId)2点击发布,调k8s部署容器,创建对应service(Group名称对应serviceName)3调用k8s成功后,在CI/DI自动调用网关接口(传RoutId),网关调用iingreaaAPI,找到
- 0016-美团OCTO万亿级数据中心计算引擎技术解析
红苹果_小米粒
提升研发效率、降低运维成本、提高服务稳定性美团OCTO万亿级数据中心计算引擎技术解析一、OCTO数据中心简介1.1系统介绍1.1.1OCTO系统介绍OCTO是美团标准化的服务治理基础设施,目前几乎覆盖公司所有业务的治理与运营。OCTO提供了服务注册发现、数据治理、负载均衡、容错、灰度发布等治理功能,致力于提升研发效率,降低运维成本,并提升应用的稳定性。OCTO最新演进动态细节可参考《美团下一代服务
- 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