随笔分类 - java编程基础
java编程基础,是支持炫酷技术的基础
摘要:基础的东西永远是最重要的,值得反复学习,面试时,这点也能看出一个人的基本功力。 1、关于HashCode和HashMap以及equals()方法的理解 1. hashcode的默认实现是地址的hash散列,既然是hash散列, 从大范围映射至小范围,就可能出现hash碰撞 2. 部分对象对hashc
阅读全文
摘要:现在java的技术栈一般是spring+tomcat,好像不关网络编程什么事儿。确实,由于网络编程和具体的业务相对独立,所以网络被做成框架了,我们只要使用就好,但是作为要靠技术吃饭的程序员,还是有必要了解网络编程的。 java中设计网络编程的包有java.net和java.nio。其总的类有: So
阅读全文
摘要:今天编写解压文件和输入输出流,被恶心到了,一个人在迷宫你像迷路的人,乱撞。一个典型的错误是我从FileInputStream中读取成一个CharStream,文件中又内容,但是读出来却是空,到底是什么原因呢?debug了几次,一直是这个问题,猜想可能是字符编码的问题,各种设置,但都是不行。然后忽然想
阅读全文
摘要:理解java代理,应该是从最简单的静态代理开始。代理是对对象方法的一种增强,比如增加日志,静态代理的特点在于代理类只能代理一个一个类,并且要事先要编写好。 动态代理则对被代理对象进行了抽象,使一个代理对象就可以代理很多对象,把业务对象,method,args抽象为普通对象,方法对象,参数对象等。 I
阅读全文
摘要:java8最显著的特点就是引入了Stream操作,可以看做是对集合操作的加强,比如对map按其value值进行排序。 通常我们的做法是转换为List<Entry>,然后使用列表的排序方法,但是使用Stream能更简洁。 public static <K, V extends Comparable<?
阅读全文
摘要:1、场景 多线程安全如何定义呢?是对共享变量的修改吗?是不同步吗?设想这些场景 1、我修了一条从自己家里到小镇上的单行道马路,自己一个人开车上下班,购物都不会阻塞。 突然有一天,马路变成公有的了,很多车都在上面开,于是我发现经常迎面塞车。 2、我去银行存钱,账户里本来有200w,发现有两个小妹妹,为
阅读全文
摘要:第一部分: 在网站开发中,用户可能需要打印word或者excel表,这种需求是非常多的。 java语言生成excel表格和python的方式有点像,使用Apache POI的组件,一通全通。开发过程通常是使用模板文件,然后从数据库中填数据。 推荐网页:http://poi.apache.org/ap
阅读全文
摘要:在实际开发过程中遇到的java多线程情况不多,但是使用的组件,框架中则很多用到了多线程技术,java面试时也会考到,所以看看多线程的知识还是很有必要的。 Thread,ThreadLocal, Runnable,Callable,Future,FutureTask,Executors这是java常见
阅读全文
摘要:spring框架很多地方都应用了注解,如@controller,所以要学会自定义注解及注解处理器。 Class<?> cl=Class.froName(className) //通过类名加载类,获取类对象DTable dtable=cl.getAnnotation("DTable.class")//
阅读全文
摘要:其中new Class<?> [ ] {Person.class}和new Class[0]都不怎么好理解啊,这属于语法范畴。现在是遇到不懂的就主动的提出来,解决掉。 String[] array = new String[100]; //array一样是null;但是避免了for循环时的抛出异常;
阅读全文