- 浏览: 131610 次
- 性别:
最新评论
-
静夜独窗:
浅显易懂,感谢
Js 自定义回调函数 -
ysj_csdn:
String testStr = "12315< ...
Java 正则截取两个标签之间字符串 -
夏日娃:
这么神奇。。。
Js 自定义回调函数
文章列表
一、背景介绍
spring cloud 微服务架构中,需要对依赖服务的请求留痕(URL,出参,入参、耗时等)
1.现状
调用FeignClient(Integration类中)时 手工记录log
缺点:重复工作、log格式不统一
优点:充分满足个性化需求、灵活度极高(再说上天了)
2.目标
实现简洁统一的全局外部服务调用日志输出
示例如下:
关于JVM内存结构的图网上很多,也许你看完后不明觉厉 却很难形成自己的记忆。
这图希望能够帮助大家清晰地看明白JVM的内存结构与基本要素,形成一张记忆拼图,避免每次学习时都重复阅读大段却难以记忆的文字。
关于这图有几个点需要说明:
1.尽管花了不少精力画这一张看似简单的图,但还是很难保持一步到位。
所以强烈邀请各位看到破绽或者疑问的朋友留言帮助我完善,一起帮助更多人。
2.方法区是堆的逻辑组成部分
3.方法区与永久代是不是同一个东西?
不是. 方法区是标准,永久代是对方法区标准的实现
《Java虚拟机规范》规定了方法区标准,Sun公司HotSpo ...
CountDownLatch 基础用法
- 博客分类:
- 多线程
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类 ...