0%

第一种解决办法:BINARY

在关键字之前加上:BINARY,会使关键字强制转换为二进制字符串

1
select id form t where chinese like **BINARY** %汉字%

第二种解决办法:改关键字类型

把关键字的类型改成:BINARY

这两种办法都可以解决乱码问题

错误:

1
new ImageIcon("1.jpg")

正确:

1
new ImageIcon("src/com/hisen/thread/progressbar/1.jpg")

图片路径:

1
test\src\com\hisen\thread\progressbar\1.jpg

所谓的相对路径,是相对于这个工程而言的,而不是当前文件夹而言。

浏览器什么的都能打开github.com
就是eclipse无法提交到github,每次都是连接超时
然后就直接修改host了,目前有效
2017年1月14日 18:01:34

host位置:

1
C:\Windows\System32\drivers\etc

host文件最后一行加上下面内容即可

1
192.30.253.112       github.com

eclipse的*.properties文件,默认的编码方式是iso-8859-1

Window -> preferences -> general -> Contents Types -> Text(展开)
-> Java Aroperties File(点击) -> *.properties(locked)(点击)
-> 把iso-8859-1改为 UTF-8 -> Update -> OK

然后就可以正常显示中文了

解决办法为:在项目的src下面新建file名为log4j.properties文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
###设置
log4j.rootLogger = debug,stdout,D,E

###输出信息到控制抬
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

###输出DEBUG 级别以上的日志到=E://logs/error.log
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

###输出ERROR 级别以上的日志到=E://logs/error.log
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

log4j详细使用方法:点击查看

以下是面试一家支付类公司的过程当中遇到的面试题

主要是交流比较多,不是先笔试

直接是把这些问题带入到具体的情景当中去

可能这样更能考验出一个人真正的技术水平

1,很多文件,读出数字,加1写回,谈谈你的想法

2,能继承string类?

1
不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。

3,能有个包名一样的String类?如果有一样的会调用哪个?

4,一个主线程等待其他线程完成,如果其中有线程出错怎么办?

1
2
把线程可能会出现的问题处理掉
出错了能保证让他重新执行

5,Oracle默认端口?

1521

6,b继承a,b的对象能强转成a嘛?

不能把一个对象强制转换成另外一个对象

7,数据库去重,删除所有重复记录,只留下一条

1
2
3
4
5
6
DELETE
FROM EMP E
WHERE E.ROWID >
(SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMP_NO = E.EMP_NO);
Read more »

1、查看日志最后几行

1
tail -100 /access.log

2、进入目录相关

1
2
3
4
5
6
7
8
9
10
#进入一个目录
root@hisenyuan:/# cd /home/wwwlog/
#进入当前目录下的www.google.com目录
root@hisenyuan:/home/wwwlog# cd ./www.google.com
#进入父目录
root@hisenyuan:/home/wwwlog/www.google.com# cd ../
#进入linux系统根目录
root@hisenyuan:/home/wwwlog# cd /
#根目录
root@hisenyuan:/#

3、看倒数多少行

1
2
3
4
#看倒数10行
tail -10 /filepath/filename
#看行数外加过滤含有指定字符的行
tail -10 access.log | grep -v "yourstring"

4、过滤特定行,保存结果到新文件

1
cat /root/old.text | grep -v "yourstring"> /root/new.text

排序方法平均情况最好情况最坏情况辅助空间稳定性
冒泡排序O(n²)O(nlogn)O(n²)O(1)稳定
简单选择O(n²)O(n²)O(n²)O(1)稳定
直接插入O(n²)O(n)O(n²)O(1)稳定
希尔排序O(nlogn)~O(n²)O(n^1.3)O(n²)O(1)不稳定
堆排序O(nlogn)O(nlogn)O(nlogn)O(1)不稳定
归并排序O(nlogn)O(nlogn)O(nlogn)O(n)不稳定
快速排序O(nlogn)O(nlogn)O(n²)O(nlogn)~O(n)不稳定

以上

[1]选择最有效率的表名顺序

只在基于规则的优化器中有效,ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.

[2]WHERE子句中的连接顺序

ORACLE采用自下而上(从后往前)的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾

[3]SELECT子句中避免使用’*’

ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.需要什么字段就查询什么字段,永远不要查询出不需要的字段来

[4]减少访问数据库的次数

ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等;尽量使用缓存技术;

[5]设置单次访问合适的检索数据量

在SQLPlus , SQLForms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200

Read more »

1
String str = new String("Java");

答案:最少一个,最多两个

  1. Java中有常量池的概念,常量池和类文件相关,其数据存放的区域是在方法区中(方法区是jvm中内存模型的概念)
  2. 因为当你使用关键字new的时候是一定会生成一个String类的实例,当你使用直接量的方式定义了一个字符串时,假如这个字符串在常量池中,则不会去实例化String,反之则会生成一个String类的实例,并置入常量池