开发永久便利贴

作为一个程序员,养成良好的习惯很重要,技术知识点太多,很多时候,需要用到某个知识点,明明以前用过,因为记性不好使,仍然不得不到网上去查,总结工作中常用到的技术点,也是一个慢慢提高自己的方式。

持续更新.................

常用开发小技巧总结

1 向数据库插入当前日期

实际的开发一般很少会在客户端插入日期的!如果是ORCALE数据库可以直接取数据库的日期!sysdate 即为系统当前日期。例如:insert into table (date)values(sysdate);


2 ajax请求只执行第一次

一般是缓存问题
解决方法:在请求url后加个随机数,用js的Math.random()产生随机数 ,这样就保证每次请求URL都不同



3 ibatis中 常见为题

数据类型的错误 使用#和$接收参数,$会把接收数据直接生成在sql里 ,#会当成字符串

resultClass 返回类型 常用的是HashMap和和自定义的Result


4 最常用的myeclipse快捷键

Alt+← 前一个编辑的页面
Ctrl+T 快速显示当前类的继承结构
CTRL+Shift+R 查找某个文件
CTRL+SHIFT+I 查看变量的值

ctrl+o:快速outline
如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧。它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击enter就能够直接跳转至你想去的位置。

ctrl+e:快速转换编辑器
这组快捷键将帮助你在打开的编辑器之间浏览。使用ctrl+page down或ctrl+page up可以浏览前后的选项卡,但是在很多文件打开的状态下,ctrl+e会更加有效率。

Ctrl+Alt+H
如果你想知道一个类的方法到底被那些其他的类调用,那么请选中这个方法名,然后按“Ctrl+Alt+H”,
   
5 PLSQL Developer 9.0注册码

Product Code:46jw8l8ymfmp2twwbuur8j9gv978m2q2du
serial Number:307254
password:xs374ca

时间截止到9999-31-12。希望大家也希望能够活到这么多岁哈。


6  IE阻止文件下载

1 在IE工具栏点击“工具”菜单栏下的“INTERNET选项” 点击弹出窗口的“隐私”选项卡,去掉“打开弹出窗口阻止程序”前面的勾。

2、点击“安全”选项卡,点击“自定义级别”。启用 “文件下载的自动提示”。


7 oracle 截取字符串


截取前五位 substr("字符串",0,5)
截取后五位 substr("字符串","-5",5)

8 return 和break的区别

在单层for循环里,都可以跳出。
return顾名思义是返回,直接结束方法执行
break结束当前for循环,如果多层,对外层没影响

9  接口传输数据 乱码解决

比如通过URL传送一个中文,
发送:编码 java.net.URLEncoder.encode("中国",   "utf-8")
获取:解码 java.net.URLDecoder.decode(mytext,   "utf-8");

10 设置jvm内存  初始内存和最大内存

xms和 xmx

11 java中常用的协议

http ftp udp

12 spring 缓存

在Spring缓存机制中,包括了两个方面的缓存操作:
1.缓存某个方法返回的结果;
2.在某个方法执行前或后清空缓存。

13 jdk动态代理和cglib代理的区别

1 JDK动态代理只能针对实现了接口的类生成代理。
2 CGLIB代理是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的所有方法,所以该类或方法不能声明称final的。
如果目标对象没有实现接口,则默认会采用CGLIB代理;
如果目标对象实现了接口,可以强制使用CGLIB实现代理(添加CGLIB库,并在spring配置中加入<aop:aspectj-autoproxy proxy-target-class="true"/>)。
AOP包括切面(aspect)、通知(advice)、连接点(joinpoint),实现方式就是通过对目标对象的代理在连接点前后加入通知,完成统一的切面操作。


14 IT资讯

36氪:http://36kr.com
虎嗅:http://www.huxiu.com/
果壳:http://www.guokr.com/
http://www.uml.org.cn/
酷壳:http://coolshell.cn

派代:http://www.paidai.com

15 在线制作ico图标

http://www.bitbug.net/

16 java内存溢出解决方案

典型案例:
1 hibernate查询数据时,一次查询过多的数据,后来调整了该部分的代码,每次只取出指定量的数据,成功的解决该问题。
2 在做压力测试时,出现OutOfMemoryError,发现session的资源一直没有被释放产生的,最好通过session的invalidate()方法将session的资源释放。
3 程序中出现死循环。
4 tomcat部署、运行出现OutOfMemoryError,加大内存参数值,解决此问题。

17 join 连接查询

1 Join(inner join)  表示两个表都必须存在的
2 left join 表示以左边的表为基准,不管你右边的表有没有都显示
3 right join和left join刚好相反
4 full outer join表示只要在两个表中任何一个表中有的都显示

18 jquery 的after和append区别

1  after是在标签后添加

2  append是在标签内添加

19  快速取色

ctrl+alt+a

20 war包, jar包, ear包的区别

war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
ear包:企业级应用,通常是EJB打成ear包。

21 tomcat 打包部署项目

a. 导出为war文件: export->Web->war
b. 复制此war文件到如Tomcat的webapp文件夹里,启动Tomcat时,此war文件会被自动解压
最好 做到:
将hibernate配置文件的输出sql语句置为false
清空work目录下内容
清空log日志

22 C/S B/S的区别

胖客户端和瘦客户端是相对的.之间的区别在于是否有大量的业务逻辑需要放在客户端,c/s结构中,主要的逻辑程序放在客户端,很多时候服务器是指的数据库服务器.所以是胖客户端

而在b/s结构中业务逻辑都放在服务器上.客户端只有个浏览器,服务器发送给客户端的只有遵循了html规则的字符串,当然如果你用到了applet之类的东西就相当于把一些业务逻辑放置在客户端上.


魔兽世界就是典型的胖客户端,而猫游记就是典型的瘦客户端。
------------------------------end

上面都是传统意义上的胖瘦客户端,随着Ajax的兴起代表着胖客户端时代的再次来临,

本人使用Ajax方法开发了一段时间的web系统,感觉到服务器的开发被大大的减少了,主要的工作都在javascript中进行,连表格创建都在客户端进行,客户端是个大大的胖子,想想以前开发应用程序,基本上都在客户端编代码,感觉又回到了那个时代,这大概就是政治上讲的螺旋式上升的意思吧.

(单机)→(胖客户端+服务器)→(瘦客户端+服务器)→(胖客户端+服务器)

本人认为Ajax有一个大的好处就是降低了服务器端的压力,把许多工作放到IE上完成,事实上是分流工作的一种方法,基本代表着未来的方向.

23 web.xml 的加载顺序

context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。

你可能感兴趣的:(java)