- 浏览: 1230325 次
- 性别:
- 来自: 上海
最新评论
-
lankk:
lankk 写道事实上,在运行String s1=new St ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
事实上,在运行String s1=new String(&qu ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
同意1楼的说法http://docs.oracle.com/j ...
理解String 及 String.intern() 在实际中的应用 -
raoyutao:
...
jdk 线程池 ThreadPoolExecutor -
hongdanning:
理解了。之前困惑的一些明白了。谢谢分享。
理解String 及 String.intern() 在实际中的应用
文章列表
大型网站技术架构 读书笔记
- 博客分类:
- 笔记
web 前端 优化
浏览器
减少http请求 合并css js 图片
浏览器缓存
缓存更新 — 更新文件名
逐量更新 防止服务器压力突然增大
启用压缩 gz
页面渲染 css最上面 js最下面
减少cookie css js带cookie没意义 启用不同域名 这样请求静态资源就不会带上cookie
CDN加速 网络链路层优化
反向代理服务器 缓存
应用服务器
分布式缓存 memcache
缓存穿透 对取不到的值也缓存 防止攻击
磁盘
...
slack 分享 书籍
- 博客分类:
- life
slack 可以host文件,上传了一些书分享出来,地址 O网页链接 , 书目: Adobe+Lightroom+6+_+CC+Video+Bo+-+Northrup,+Tony.mobiAndroid+Programming_+The+Big+Ne+-+Hardy%2C+Brian.mobiCocoa Programming Developer's Handbook.mobiCocoa Programming for Mac OS X, 4e.azwJava Concurrency in Practice - Peierls, Tim.mobiJava I_O - Ellio ...
手动编程 NSLayoutConstraint
- 博客分类:
- ios
项目中有个admob view是后期加上的 没写在storyboard里 所以new出来后需要手动加上NSLayoutConstraint
加的时候怎么也调不好后来发现是少了一句
[bannerView setTranslatesAutoresizingMaskIntoConstraints: NO];
加上这句程序运行就一切符合自己期待了
[bannerView setTranslatesAutoresizingMaskIntoConstraints: NO];
NSLayoutConstraint *centerX = [ba ...
在ios 中 由于键盘出现后会遮挡屏幕下面区域, 所以会有需求当键盘出现的时候 提升下方的view
在autolayout 下 之前的计算x,y的方法很可能没法正常工作,需要新的解决办法
新办法的基本思想是调整需要上移的view的bottomConstraint, 让他加上键盘的高度
具体逻辑是
1. 监听键盘事件UIKeyboardWillShowNotification
2. 获取键盘高度, 注意要获取 UIKeyboardFrameEndUserInfoKey 这个值,其他的值在英文键盘也许OK,但在中文键盘下会出错
3. 提升 ...
业务unique ID的生产策略分析
需求上下文:
业务是和单个user相关的(userId),业务表分到10个DB host中
需求:
高并发下生产唯一的业务ID
首先根据此用户的userId mapping到不同的DB host(oracle),
每个DB host上有一个业务seq, 这个seq自增步长是10,然后每个host起点不一样, 0 是0, 1是1,这样每个 DB host生成的seq数据就不会冲突(host1上只会生产尾数为1的seq,host2上只会生产尾数为2的seq,类推)
具体生产seq的o ...
How to use requirejs in client side
http://requirejs.org/
1. in html
<script data-main="js/main" src="js/require.js"></script>
main.js is the entry point of our app logic
2. in main.js
//config requirejs parameter
requirejs.config({
base ...
上海公安出入境管理 攻略 2016
- 博客分类:
- life
有个微信公众号 "上海公安出入境管理", 可以直接在上面预约好(预约的话去了现场预约都来得及), 然后现场有机器可以打印预约单, 总共有3个项目可以预约: 护照,台湾签证,港澳。
预约的时候有个 取证地点, 选速递公司的话可以帮你快递,不用到时候亲自来取,这个要注意了。
到了现场第一件事是去拍照,免费的,拍好了给你一张单子。
然后打印表单,你预约的时候资料都填好了,打印出来就行了。 背面有个地方要亲笔签名。
然后准备好证件(身份证,居住证,户口本,小孩的话出生证,挂靠积分单)及复印件。这些可以提前复印好,现场也可以免费复印(赞一个)
...
今天看一个新项目的代码, 对里面ServiceLocatorFactoryBean的使用不太明白, 便研究了一番。
首先ServiceLocatorFactoryBean的使用场景是这样的, 如果你有一个对象是从spring的beanfactory拿出来,spring的bean一般分为singleton和prototype ...
环境
hibernate 4.2.0.Final
spring 3.2.0.RELEASE
druid 1.0.2
异常信息
Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection
Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20
[WARN] 09-24 14:11:29 [pool.DruidDataSource.recyc ...
tomcat 7 应用不能访问 及 配置管理界面
- 博客分类:
- J2EE
tomcat 7 应用不能访问 及 配置管理界面
一个war, 在tomcat6下可以运行, tomcat7下不能运行,首先尝试进入管理界面,看应用启动没,
要访问管理界面localhost:8080/manager/, 需要在tomcat-users.xml做如下配置
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-jmx"/>
& ...
LockSupport 源码阅读
- 博客分类:
- Thread
在java中,要让线程等待最普通的方法是调用Object.wait()方法,
Causes the current thread to wait until another thread invokes the notify() method for this object.
但是当我阅读JUC(java.util.concurrent)的源码时发现这个包不是这样做的, 我 ...
dojo get post demo
- 博客分类:
- js
dojo.xhrGet({
url: "../api/category.do",
handleAs: "json",
load: function(response) {
console.log("category.do result:"+response);
},
error: function() {
alert("error")
}
...
iteye blog 备份
- 博客分类:
- J2EE
以前javaeye有博客导出成pdf的功能, 现在这个功能不能用了, 所以自己写了个小程序备份自己的博客内容,导出成html。
https://github.com/lich0079/iteye_backup_blog
这个程序最大的问题是iteye限制了一定时间内的访问次数,你访问太快的话会禁掉你的IP。
所以最后没办法,只能手动改程序一部分一部分的备份。
dgrid之Grid集成分页 后台rest service
前台代码
<script type="text/javascript">
define.amd.jQuery = true;
require([
"jquery",
"dstore/Rest", "dstore/Cache", "dstore/Trackable",
"dojo/_base/lang",
...
netty文档说明netty的网络操作都是async的, 在源码上大量使用了future, promise这种类,自己在js框架中也看到了很多future的使用,以前不太明白,这次好好学学。
wiki里面写到 a future is a read-only placeholder view of a variable, while a promise is a writable
在netty里面也是这样定义的,
future接口定义了isSuccess(),isCancellable(),cause(),这些判断异步执行状态的方法。(read-only)
...