好一段时间没写博客了。主要是我换了新环境,来到上海了,中间有段小插曲。。。具体不多说了,整理下最近的笔记。
如何卸载WINDOWS服务?
在查看“管理工具”→ “ 服务” 时会发现有一些被插件或者病毒安装的服务,首先想到的是禁用它,可是禁用后还是有些想法,比如删除文件、卸载服务。下面就简单地介绍一下如何卸载服务:
在“管理工具”→ “ 服务”里找到你要卸载的服务,双击打开它的属性,比如查看“卡巴斯基反病毒6.0个人版”的属性,可以看到如下描述:
服务名称:AVP
显示名称:卡巴斯基反病毒6.0个人版
然后打开注册表(运行regedit),依次打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,
在Services下找到你要卸载的服务的名称,上例中即为AVP,删除整个AVP项,重启计算机后就把该服务完全卸载了。
另外,在卸载服务前也可以把关联的文件删除,在服务的属性中“可执行文件的路径”下即为其关联的文件。
JAVA获取当前年份和月份?
- Calendar cal = Calendar.getInstance();
- int year = cal.get(Calendar.YEAR);
- int month = cal.get(Calendar.MONTH )+1;
- System.out.println(year + " 年 " + month + " 月");
PHP开启GD扩展?
if(extension_loaded('gd')) {
echo '你可以使用gd<br>';
foreach(gd_info() as $cate=>$value)
echo "$cate: $value<br>";
}else
echo '你没有安装gd扩展';
?>
1. 首先将Windows/system32/drivers/etc/hosts文件打开(用记事本打开)
2. 将原来的127.0.0.1 localhost改为
127.0.0.1 localhost
127.0.0.1 nitnews #(这个你可以自己顺便写)
3. 保存修改后的文件,如果有什么提示就允许即可
4. 启动wamp打开apache配置文件(我的wamp是在D盘装的),文件位置在wamp/bin/apache/apache2.2.8/conf/httpd.conf文件
5. 修改httpd.conf文件
找到ServerName localhost:80在前面加上#屏蔽了
找到DocumentRoot ”D:/wamp/www/”也在前面加上#屏蔽了
这个地方原来是什么样我忘了,就找下和这个相似的改成这个样,我前面配置过伪静态好像改过这里。
<Directory />
Options FollowSymLinks
#AllowOverride None
AllowOverride All
#Order deny,allow
#Deny from all
</Directory>
再找到Allow from 127.0.0.1这个改成Allow from all
再在文件最后填上
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot ”D:/wamp/www/”
</VirtualHost>
<VirtualHost *:80>
ServerName nitnews
DocumentRoot ”D:/wamp/nitnews/”
</VirtualHost>
6. 然后重启wamp,dns client服务(在运行里输入services.msc然后找到对应服务重新启动下)
7. 测试在地址栏输入http:/nitnews/(对了,现在D:wamp下面建立一个nitnews文件夹)
8. 测试在地址栏输入http://localhost/
HashMap与Hashtable的区别(这是我面试的时候遇到的问题,竟然没答上来)
1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。
2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
3.HashTable有一个contains(Object value),功能和containsValue(Object value)功能一样。
4.HashTable使用Enumeration,HashMap使用Iterator。
以上只是表面的不同,它们的实现也有很大的不同。
5.HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
6.哈希值的使用不同,HashTable直接使用对象的hashCode,代码是这样的:
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;
而HashMap重新计算hash值,而且用与代替求模:
- int hash = hash(k);
- int i = indexFor(hash, table.length);
- static int hash(Object x) {
- int h = x.hashCode();
- h += ~(h << 9);
- h ^= (h >>> 14);
- h += (h << 4);
- h ^= (h >>> 10);
- return h;
- }
- static int indexFor(int h, int length) {
- return h & (length-1);
- }
以上只是一些比较突出的区别,当然他们的实现上还是有很多不同的,比如HashMap对null的操作。
HQL去重复查询
HQL去重复查询:DetachedCriteria
具体用法大家网上搜,一大把。
JAVA数组操作(工作中遇到的,一个数组给分成每5个一组)
第一种方法:
- String[] phNums={"01584" ,"0215456" ,"034898" ,"0456464" ,"0548844" ,"065445454" ,"078112311" ,"085481212" ,"09545484" ,"102557" ,"1145484515" };
- String[] newNo= new String[5];
- int i=0;
- int j=0;
- while(i<phNums.length ){
- newNo[j]=phNums[i];
- if(i==4||j==4){
- for(int k=0;k<5;k++){
- if(newNo.length ==5){
- System. out.print(newNo[k]+"," );
- }
- }
- System. out.println();
- System. out.println("-----------------------------------" );
- newNo= new String[5];
- j=0;
- } else{
- newNo[j]=phNums[i];
- j++;
- }
- i++;
- }
- System. out.println(newNo[0]);
第二种方法:
- String a[] = {"1","5" ,"3" ,"4" ,"8" ,"y" ,"6" ,"h" ,"s" ,"45" ,"89545" ,"yuqy" ,"ert" ,"tyu" ,"sdvg" ,"545546" };
- String b[] = new String[5];
- for(int i=0 , j=0;i<a.length;i++,j++){
- b[j] = a[i];
- if(j==4){
- System. out.println("获取了数组:" );
- for(int k=0;k<b.length;k++){
- System. out.print(b[k]+"," );
- }
- System. out.println();
- System. out.println("------------" );
- b = new String[5];
- j=-1;
- }
- }
- System. out.println(b[0]);
具体的数组总结可以看熔岩的这篇博文http://lavasoft.blog.51cto.com/62575/183878
(1)System.out.println 能重定向到别的输出流,这样的话你在屏幕上将看不到打印的东西了,如输出到 一个txt的log日志中.
(2)而System.err.println只能在屏幕上实现打印,即使你重定向了也一样。 要说 最直接的区别的话: 就是 如果 你使用err打印出的 字符串,再eclipse的console会显示成红色的哦。 :-)
本文转自shyy8712872 51CTO博客,原文链接:http://blog.51cto.com/shuyangyang/952574,如需转载请自行联系原作者