1、打开电脑,在出现开机画面时,按F1键进入bios设置窗口
2、使用键盘上的左右方向键将光标移至“security”栏目,再使用上下方向键将光标移至“secure boot”选项,按回车键执行。
3、进入secure boot菜单界面后,将光标移至“secure boot”选项,按回车键确认。
4、此时,会弹出一个选择窗口,将光标移至“disabled”选项,按回车键确认。
5、完成上面的操作后,secure boot的属性就修改为“disabled”,然后按esc键返回上一步。
6、接着使用左右方向键将光标移至“startup”栏目,再使用上下方向键将光标移至“uefi/legacy boot”选项,按回车键,在弹出的选择窗口中,使用上下方向键将光标移至“both”选项,按回车键确认。
7、然后再使用上下方向键将光标移至“uefi/legacy boot priority”选项,按回车键确认,此时会弹出一个选择窗口,将光标移至“uefi first”选项,按回车键确认。
当然有可能是U盘不兼容导致的。你换其他U口试一下。如果其他U口也不行,建议你进入BIOS--Config--USB--里面有个USB3.0mode,你改成Disabled再试一下。
安装系统时提示:
Windows无法安装到这个磁盘。选中的磁盘采用GPT分区形式。
将磁盘格式由GPT转换成MBR。操作步骤:
进入PE,Windows+R,
当然也可在安装选择语言界面按FN+SHIFT+F10 ,打开命令提示符,别的电脑只按SHIFT+F10就行了,thinkpad的都要加上FN。
输入:Diskpart,回车;
输入:list disk,查看磁盘信息(注意容量);
输入:select disk 0(如果要更改的磁盘编码是1则改为1);
输入:Clean;
输入:convert mbr;
操作完成关闭命令提示符窗口,正常重启安装win7即可。
环境:linux,mysql5.5.21
错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
原因:
同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;
解决方法:
1、提高允许的max_connection_errors数量(治标不治本):
① 进入Mysql数据库查看max_connection_errors: show variables like '%max_connection_errors%';
② 修改max_connection_errors的数量为1000: set global max_connect_errors = 1000;
③ 查看是否修改成功:show variables like '%max_connection_errors%';
2、使用mysqladmin flush-hosts 命令清理一下hosts文件(不知道mysqladmin在哪个目录下可以使用命令查找:whereis mysqladmin);
① 在查找到的目录下使用命令修改:/usr/bin/mysqladmin flush-hosts -h192.168.1.1 -P3308 -uroot -prootpwd;
备注:
其中端口号,用户名,密码都可以根据需要来添加和修改;
配置有master/slave主从数据库的要把主库和从库都修改一遍的(我就吃了这个亏明明很容易的几条命令结果折腾了大半天);
第二步也可以在数据库中进行,命令如下:flush hosts;
URL 参数解析方法:
httpclient org.apache.http.client.utils.URLEncodedUtils
URLEncodedUtils.parse(query, Charset.forName("UTF-8"));
jettyUtil org.eclipse.jetty.util.UrlEncoded
MultiMap
UrlEncoded.decodeTo(query, values, "UTF-8", 1000);
tomcat org.apache.catalina.util.RequestUtil
Map
RequestUtil.parseParameters(values, query, "UTF-8");
regex 正则表达式
String u = URLDecoder.decode(url, "UTF-8");
for (String s : parameters) {
Pattern p = Pattern.compile(s + "=([^&]*)(&|$)");
Matcher m = p.matcher(u);
if (m.find()) {
m.group(1);
}
}
split 使用String 的split 方法对 URL 进行分割,然后用equals 匹配对应的 参数
String u = URLDecoder.decode(url, "UTF-8");
for (String s : parameters) {
String[] a = new String[100];
if (u.indexOf(s) != -1) {
a = (u.substring(u.indexOf(s))).split("&");
a[0].split("=");
}
}
前三者是 httpclient, jetty, tomcat 使用的 URL 解析工具。Split 方法是最简单 也是最直观的解析方法,regex 则使用了正则表达式去匹配参数。
1、Spring MVC 和 Spring 整合的时候,SpringMVC的spring-servlet.xml文件中 配置扫描包,不要包含 service的注解,Spring的applicationContext.xml文件中 配置扫描包时,不要包含controller的注解,如下所示:
SpringMVC的spring-servlet.xmll配置:
<context:component-scan base-package="tk.hecks">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
Spring MVC启动时的配置文件,包含组件扫描、url映射以及设置freemarker参数,让spring不扫描带有@Service注解的类。
为什么要这样设置?因为spring-servlet.xmll与applicationContext.xml不是同时加载,如果不进行这样的设置,那么,spring就会将所有带@Service注解的类都扫描到容器中,等到加载applicationContext.xml的时候,会因为容器已经存在Service类,使得cglib将不对Service进行代理,直接导致的结果就是在applicationContext 中的事务配置不起作用,发生异常时,无法对数据进行回滚。以上就是原因所在。
同样的在Spring的xml配置如下:
<context:component-scan base-package="tk.hecks">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
扫描包路径,不扫描带有@Controller注解的类。因为这些类已经随容器启动时,在spring-servlet.xml中扫描过一遍了。
问题分析思路:
- 优先对85前及90后员工的普遍性格特性进行归纳、分析和对比。
- 针对不同的性格特征,阐述不同的培养方式。
- 依据上述结论,结合本次员工离职分析工作中的得失。
性格分析对比:这里不提及性格优势是为了引出后面的培养方式,不是否认90后的性格优势。
| 85前员工性格特点 | 90后员工性格特点 | 形成原因 |
| 思想独立 | 依赖他人 | 家长过分的溺爱,让孩子缺乏自己决策、思考的机会 |
| 行为有目标 | 行为无目标 | 从家庭到教育都是随波逐流,造成无意识的盲从,急于看中眼前成效 |
| 内心强大 | 内心脆弱 | 家长过分的溺爱,顺境的生长环境,让孩子没有机会犯错与承担 |
| 成就感来自内在 | 成就感来自外在 | 思想独立决定了85前的成就感源自内心的成长,90后更渴望来自他人的承认与赞美 |
| 团队意识弱 | 更强的团队意识 | 90后员工之间私下交流沟通比较多,工作中可以进行更有效的合作,帮助。 |
1、如果只是简单生成或者解析,自己写一个帮助类就行,下面这个是我前段时间用递归写的,优势方便可以扩展
import java.util.ArrayList;
import java.util.List;
/**
*
*
*
* TODO manage node and value.and format the node to xml file
*
*/
public class XMLSimpleNode implements SimpleNode {
private String nodeName;
private String value;
List<SimpleNode> childs;
private String header;
public XMLSimpleNode(String nodeName) {
this.nodeName = nodeName;
childs = new ArrayList<SimpleNode>(2);
}
public String getNodeName() {
return nodeName;
}
为什么项目会变得紧急?
其实在我们的现实项目中有很多时候,项目会被要求在一个看上去似乎不现实的条件下完成,因素很多,总结一下:
1、为了争夺或抢占市场。
2、为了向客户或领导演示汇报。
3、向重要的客户承诺在较短的时间进行交付。
如何处理紧急项目?
1. 明确目标
用户需求:项目总要有产出,在着手列计划开始工作之前,请先与客户沟通,明确客户想要的是什么?
1、系统功能完整,质量良好,并投入使用。
2、完成核心功能的开发,并投入使用。
3、了解项目进度,系统界面和功能设计,或向上级领导汇报。
我想我们更多的情况是后两者。
调优演示
1. 先写一个死锁小程序,如下
复制代码
package tk.hecks.jin.bin;
/**
*
*
* 线程死锁演示调优
*
*/
public class Test4DeadLock extends Thread {
public static Object obj1 = new Object();
public static Object obj2 = new Object();
public static void main(String[] args) {
new Thread(new Runnable() {
public void run() {
synchronized (obj1) {
System.out.println("have in obj1 lock");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("wait for obj2 lock");
synchronized (obj2) {
System.out.println("lock2 have been done");
}
}
}
}).start();







