`
文章列表
一、背景介绍 spring cloud 微服务架构中,需要对依赖服务的请求留痕(URL,出参,入参、耗时等) 1.现状 调用FeignClient(Integration类中)时 手工记录log 缺点:重复工作、log格式不统一 优点:充分满足个性化需求、灵活度极高(再说上天了)   2.目标 实现简洁统一的全局外部服务调用日志输出 示例如下:
关于JVM内存结构的图网上很多,也许你看完后不明觉厉 却很难形成自己的记忆。 这图希望能够帮助大家清晰地看明白JVM的内存结构与基本要素,形成一张记忆拼图,避免每次学习时都重复阅读大段却难以记忆的文字。     关于这图有几个点需要说明: 1.尽管花了不少精力画这一张看似简单的图,但还是很难保持一步到位。 所以强烈邀请各位看到破绽或者疑问的朋友留言帮助我完善,一起帮助更多人。   2.方法区是堆的逻辑组成部分   3.方法区与永久代是不是同一个东西? 不是.  方法区是标准,永久代是对方法区标准的实现 《Java虚拟机规范》规定了方法区标准,Sun公司HotSpo ...
     java.util.concurrent.CountDownLatch     一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。  用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,  await 方法会一直受阻塞。到达0之后,会释放所有等待的线程,执行await 后续操作。      最常见的使用场景: 等待其他线程处理完才继续当前线程。   最重要的是使用非常简单!          使用方法3步走:   /** * step.1 * 创建C ...
查看oracle表结构,sql执行  不依赖工具 SELECT T1.Column_Id, -- 字段序号 T1.COLUMN_NAME, -- 字段名 T1.DATA_TYPE, -- 类型 || '(' || T1.DATA_LENGTH || ')' T1.DATA_LENGTH, -- 长度 T1.NULLABLE, -- 是否可为空 T1.DATA_DEFAULT, -- 默认值 T2.COMMENTS -- 注释 FROM all_tab_columns T1, all_col_c ...
  前端压力测试结果: 单屏请求 | 响应4S | 日均PV-5W 结果不能满足电商网站要求,分析确定服务器带宽是瓶颈(服务器带宽仅10M)。   为了解决问题,公司决定购买CDN服务(Content Delivery Network,即内容分发网络 - 建立在互联网基础之上的缓存服务节点)。 我们的初衷是将网站静态资源(如:JS,CSS,IMG)缓存到CDN服务节点,CDN节点直接返回静态资源,从而缓解服务器带宽压力同时提高响应速度,从而提升用户体验。 CDN服务加上了,但结果似乎并不像我们想要的这么简单: 生产环境验证发现用户A登录后看到的是其他用户的登录信息,这可不是小问 ...
关系型数据库标准中定义了4类隔离级别,用来限定事务内外的哪些改变是可见的,哪些是不可见的。 通常, 低级别的隔离级并发处理支持更高,系统开销更低。   Read Uncommitted ( 未提交读 )   所有事务都可以"看到"未提交事务的执行结果。该隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)   Read Committed ( 提交读 )   大多数数据库默认的隔离级别 (但MYSQL不是) 。它满足了隔离的早先定义:一个事务在开始时,只能"看到"已提交事务 ...
事情是这样的, 标题"jsp标签里面使用el表达式",其实jsp标签里面是不能直接使用el表达式去拿值的 。如下:<% Timestamp oldtime = ${adt.createTime} %>就是一次失败的尝试 ! 但是我们有其他办法可以达到同样的目的, 这里要用到 jstl 标签了, 一般web项目都会用到的.做法就是先将值设置到 jstl 的 set标签块里边 ,然后用jsp标签从jstl设置的作用域里面取值.具体做法如下:<c:set scope="request" var="createTime" ...
Java 正则 , 截取两个标签之间字符串 :   String testStr = "12315<Test>show me</text>"; Pattern p = Pattern.compile("<Text>(.*)</Text>"); Matcher m = p.matcher(testStr); while(m.find()){ System.out.println(m.group(1)); } 如上, 控制台输出应为:show me.
使用jQuery的时候发现它内部的很多方法都提供回调函数, 非常方便   于是萌生了自定义回调函数的冲动, 送上小例: /** * 回调函数测试方法 * * @param callback * 被回调的方法 */ function testCallback(callback) { alert('come in!'); callback(); } /** * 被回调的函数 */ function a() { alert('a'); } /** * 开始测试方法 */ function start() ...
-- 一个 ARP.KEY_ 对应多个 ARP.ID_ 和 ARP.VERSION_ , -- 这里只取最大的 ARP.VERSION_ 对应的 ARP.ID_ 结果集 SELECT T2.ARPID, T2.TSIID FROM ( SELECT ARP.ID_ ARPID, ARP.KEY_, ARP.VERSION_, TSI.ID TSIID, ROW_NUMBER() OVER(PARTITION BY ARP.KEY_ ORDER BY ARP.VERSION ...
create or replace function GET_PRODUCT_ID_BY_NAME(productName varchar2) return number is pragma autonomous_transaction; mResult number; -- 返回结果ID countResult number; -- 根据名称查询结果 tempVar varchar2(200);-- 临时处理字符 begin tempVar := trim(productName); select count(TPI.ID) ...
//兼容性创建xmlHttp对象 if (window.ActiveXObject && !window.XMLHttpRequest) { window.XMLHttpRequest = function() { var msxmls = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSX ...
最近工作需要用到ajax跨域请求参数,网上找很很久,最终得到解决之道。分享一下吧,希望能帮到各位 也许你已经发现在浏览器直接敲路径能获得对方提供接口的参数,而一到项目中Ajax请求却老是失败。原因是,浏览器出于安全考虑,是不允许JavaScript代码进行跨域操作。 话不多说,直入正题: 据我所知,解决ajax跨域请求问题有3种, 1).直接用一个java类向跨域项目请求参数,然后Ajax只想自己项目的对应java类发送请求。 你想到了吗 ? 呵呵 这个够简单了,而且可以实现,但是这样做的我们自己也会觉得这样的方式怪“怂”的。 相面看第二中方法 2). 这中方式主要是通过JS和Java类 ...
Global site tag (gtag.js) - Google Analytics