java基础研习

1、线程安全的解释
2、StringBuilder StringBuffer,String类 。
http://blog.csdn.net/clam_clam/article/details/6831345
String 内部数据结构 final char value[]; StringBuffer 内部数据结构 char value[];
2、对象的产生问题String s = new String(“xyz”);常量池中原来没有”xyz”,就是两个
StringBuilder(JDK1.5) 和StringBuffer(JDK1.0)是线程安全的问题。

3、内存泄露的问题,内存管理
http://henryyang.iteye.com/blog/1188328
预备知识:对象 和引用变量。才java中通过引用变量找到对象,如果这段内存没有引用变量则会被垃圾回收。(有向图的方式)
coal: 常见的内存泄露有两种情况 1、在c/c++中,在堆中分配的的内存,在没有将其释放掉的时候,就讲所有能访问这块内存的
方式都删除掉了,(如指针的赋值); 2、在内存对象明明已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)。(第二种情况在java中因为jc机制,得到了很好的解决)。
4:、常用的反爬虫策略:
user agent cookies 代理 降低访问频率 photojs

5:讲一讲多态:
属于运行期的状态。例如有重载和复写。
http://www.cnblogs.com/jack204/archive/2012/10/29/2745150.html
http://www.cnblogs.com/chenssy/p/3372798.html

6:讲讲多线程
http://www.ibm.com/developerworks/cn/education/java/j-threads/j-threads.html
1、什么是线程:
进程:在某种程度上相互隔离的、独立运行的程序
线程:轻量级进程。
http://www.ibm.com/developerworks/cn/java/j-concurrent/
7:线程同步中sleep()和wait()有什么区别?
1、 http://www.blogjava.net/baiyucheng/archive/2009/04/08/242140.html

 2、http://www.cnblogs.com/DreamSea/archive/2012/01/16/sleepandwaitdifferent.html 例子
            发出的对象不一样,一个是当前线程发出sleep,并且还占用这个锁。而对象当前对象发出的是wait,释放当前占用的锁。

8:讲一讲java的序列化是什么、其应用场景和优点。
http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html
1、来源:在jvm中可以创建一个对象,但是在jvm关闭之后对象也消失了。为了在jvm关闭之后也能够保存对象的状态(持久化),用来再jvm重启后回复对象的状态的操作。
2、应用场景:持久化,网络中对象的传输
3、使用:继承Seralizable接口,中间还有一些排除对象成员序列化的方法。ObjectInputStream 和 ObjectOutputStream 进行对象的读写
http://www.ibm.com/developerworks/cn/java/j-lo-serial/加深理解
4:序列化的ID问题
9:Mysql用到什么水平。当数据量很大且插入操作很频繁时该怎么处理(空白期,Mysql了解的并不多)
http://www.jb51.net/article/27315.htm
插入操作很频繁怎么处理?库表散列方法
1)一般数据库的底层实现是采用B树,还有部分是采用散列表的结构。(B树是如何建造的)
2)索引:索引是对数据库表中一列或者多列的值进行排序的一种结构。当然索引只是对于查询的情况有很大的优化,但是会降低插入 删除 更新的速度。

        3)对于只是插入的速度:理论上来来讲一条语句插入的工作有 数据库的链接。
            extention:B树的建构

10:Java栈和队列的内部简单原理
怎么模拟一个栈,怎么模拟一个队列
http://www.cnblogs.com/yangecnu/p/introduction-stack-and-queue.html
http://www.cnblogs.com/oumyye/p/4199951.html
11:Java的List中存放的是对象,如何对对象进行排序

12:列举出一些Java中的一些数据结构
http://blog.csdn.net/zhangerqing/article/details/8122075
http://blog.csdn.net/softwave/article/details/4166598
ArrayList、LinkedList、HashMap、TreeMap、LinkedHashMap列了一遍,面试官还给补充了queue和vector。及其底层的数据结构
底层数据结构,以及要注意的事项
13:Jvm的原理
http://segmentfault.com/a/1190000002579346
http://blog.csdn.net/cutesource/article/details/5904501
如果是谈谈jvm的话,总览的谈:java和c++最重要的区别是java的平台无缘性,而这里jvm是java的平台。编译之后的java指令并不在硬件系统中直接执行,而是
在由jvm执行。
再深入一步就是谈谈jvm的架构组成:
1、类装载子系统
2、执行引擎
3、运行时数据区

然后再根据架构的各个模块进行系统的说明:
类加载子系统
JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:

1)Bootstrap ClassLoader
负责加载 JAVAHOMEjre/lib/rt.jarclassC++ClassLoader2ExtensionClassLoaderjavajar JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包
3)App ClassLoader
负责记载classpath中指定的jar包及目录中class
4)Custom ClassLoader
属于应用程序根据自身需要自定义的ClassLoader,如tomcat、jboss都会根据j2ee规范自行实现ClassLoader
加载过程中会先检查类是否被已加载,检查顺序是自底向上,从Custom ClassLoader到BootStrap ClassLoader逐层检查,只要某个classloader已加载就视为已加载此类,保证此类只所有ClassLoader加载一次。而加载的顺序是自顶向下,也就是由上层来逐层尝试加载此类。

14:maven+springMvc+mybatis+git框架搭建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值