java基础/面试
文章平均质量分 70
stupider0623
快乐并学习着,为了属于我的生活
展开
-
程序打印 佛祖保佑
String strConsole = "\n"+ " _oo0oo_ \n" + " 088888880 \n" + " 88\" . \"88 \n" + " .原创 2021-10-11 13:58:46 · 534 阅读 · 0 评论 -
JVM-java虚拟机
1. Java的内存模型以及GC算法2. jvm性能调优都做了什么3. 介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明4. 介绍GC 和GC Root不正常引用。5. 自己从classload加载方式,加载机制说开去,从程序运行时数据区,讲到内存分配,讲到String常量池,讲到JVM垃圾回收机制,算法,hotspot。反正就是各种扩展6. jvm如何分...原创 2018-04-20 10:10:34 · 119 阅读 · 0 评论 -
二、Java IO面试
1、String编码UTF-8和GBK的区别 答:UTF-8是国际通用的编码,通用性比较好,GBK是国家编码,支持中文,但是相比UTF-8的通用性差,不过UTF-8占用的数据库比较大,所以相对反应速度要慢。2、什么时候使用字节流,什么时候使用字符流 答:所有的输入都是转换成字节流之后,然后在内存中变成字符流。所以一般建议使用字符流。但是遇到中文汉字,出现乱码的情况下,可以使用字节...原创 2018-04-20 10:20:48 · 82 阅读 · 0 评论 -
六、多线程~面试
1. Java创建线程之后,直接调用start()方法和run()的区别答:start与run方法的主要区别在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行,然而在你直接调用run方法的时候,程序并不会创建新线程,run方法内部的代码将在当前线程上运行。大多数情况下调用run方法是一个bug或者变成失误。因为调用者的初衷是调用start方法去开启一...原创 2018-04-20 10:24:23 · 99 阅读 · 0 评论 -
七、网络通信
1. http是无状态通信,http的请求方式有哪些,可以自己定义新的请求方式么。2. socket通信,以及长连接,分包,连接异常断开的处理。3. socket通信模型的使用,AIO和NIO。4. socket框架netty的使用,以及NIO的实现原理,为什么是异步非阻塞。5. 同步和异步,阻塞和非阻塞。6. OSI七层模型,包括TCP,IP的一些基本知识7. http...原创 2018-04-20 10:34:04 · 113 阅读 · 0 评论 -
八、数据库~面试
1. 事务的四个特性,以及各自的特点(原子、隔离)等等,项目怎么解决这些问题2. 数据库的锁:行锁,表锁;乐观锁,悲观锁3. 数据库事务的几种粒度;4. 关系型和非关系型数据库区别...原创 2018-04-24 13:33:13 · 108 阅读 · 0 评论 -
九、并发与性能调优~面试
1. 有个每秒钟5k个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法?请求再多,比如5w,如何设计整个系统?2. 高并发情况下,我们系统是如何支撑大量的请求的? 1,尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。 2,用jprofiler等工具找出性能瓶颈,减少额外的开销。 3,优化数据库查询语句,减少...原创 2018-04-24 13:33:31 · 761 阅读 · 1 评论 -
七、网络通信~面试
1. http是无状态通信,http的请求方式有哪些,可以自己定义新的请求方式么。2. socket通信,以及长连接,分包,连接异常断开的处理。3. socket通信模型的使用,AIO和NIO。4. socket框架netty的使用,以及NIO的实现原理,为什么是异步非阻塞。5. 同步和异步,阻塞和非阻塞。6. OSI七层模型,包括TCP,IP的一些基本知识7. htt...原创 2018-04-24 13:45:03 · 146 阅读 · 0 评论 -
StringUtils用法+StringUtils详细介绍
StringUtils用法+StringUtils详细介绍 public static void StringUtil(){ //null 和 ""操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //判断是否Null 或者 "" //System.out.println(StringUtils.isEmpty(null)); //...原创 2018-04-24 13:45:30 · 330 阅读 · 0 评论 -
TCP和UDP的最完整的区别
TCP UDPTCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UDP应用场景: 1.面向数据报方式 2.网络数据大多为短消息 3.拥有大量Client 4.对数据安全性无...原创 2018-04-26 09:11:49 · 89 阅读 · 0 评论 -
探秘Java中的String、StringBuilder以及StringBuffer
http://www.cnblogs.com/dolphin0520/p/3778589.html1)对于直接相加字符串,效率很高,因为在编译器便确定了它的值,也就是说形如"I"+"love"+"java"; 的字符串相加,在编译期间便被优化成了"Ilovejava"。这个可以用javap -c命令反编译生成的class文件进行验证。 对于间接相加(即包含字符串引用),形如s1+s2+...原创 2018-07-12 16:14:36 · 96 阅读 · 0 评论 -
对集合进行排序
package com.shaphar.erp.mobile.common.util;import java.lang.reflect.Method;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * Created by Administrat...原创 2018-07-17 16:52:18 · 169 阅读 · 0 评论 -
java集合运算:求交集,并集,集合差
import java.util.HashSet; 4 import java.util.Set; 5 6 public class CollectionOperation { 7 public static void main(String[] args) { 8 Set<Integer> result = new HashSet<...原创 2018-08-09 13:42:24 · 548 阅读 · 0 评论 -
三、Java Web面试
1. session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。2. servlet的一些相关问题3. webservice相关问题4. jdbc连接,forname方式的步骤,怎么声明使用一个事务。举例并具体代码5. 无框架下配置web.xml的主要配置内容6. jsp和servlet的区别...原创 2018-04-20 10:04:42 · 88 阅读 · 0 评论 -
浅谈Arrays.asList()方法的使用
浅谈Arrays.asList()方法的使用 首先,该方法是将数组转化为list。有以下几点需要注意: (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新 (3)不支持add和remove方法.在java语言中,把...原创 2017-12-28 15:16:04 · 107 阅读 · 0 评论 -
解析json数据
var sshwo=[]; var jjssoonn={"list":[ {"childs": [{"childs":[],"id":1,"name":"入口1","ralationTypeId":0},原创 2016-09-02 16:44:53 · 247 阅读 · 0 评论 -
jsp页面拼加(多个jsp页面再加到一个页面中)
有时在异步请求时,当点击一个筛选信息时,页面中的显示部分的信息全部会改变,若是用全部刷新,会很慢,而且里面的条件也会不见,但是要是异步显示出来,又会写很多的js代码,写出来的还好和原来的一样,很费力.这时就可以用页面多个页面加载,将刷选信息页面作为一个页面,显示部分的页面作为一个页面,当点击刷选信息时,显示信息就可以全部变动,并显示信息的部分也不需要改动. 满足的条件是:...原创 2016-09-10 11:41:45 · 3756 阅读 · 0 评论 -
在java解析xml文档的方式
DOM | SAX | JDOM | Dom4j第一种,(DOM解析) DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何...原创 2016-10-20 14:00:50 · 273 阅读 · 0 评论 -
一、Java基础
1、面向对象的特征有哪些方面 ①抽象: 抽象是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 ②继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派...原创 2017-03-20 20:27:33 · 63 阅读 · 0 评论 -
冒泡排序
算法原理冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序的基本...原创 2017-03-28 15:54:50 · 62 阅读 · 0 评论 -
面试试题
11原创 2017-05-12 22:24:16 · 85 阅读 · 0 评论 -
drop,delete与truncate的区别
drop直接删掉表 truncate删除表中数据,再插入时自增长id又从1开始 delete删除表中数据,可以加where字句。 (1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并...原创 2017-05-12 22:44:38 · 84 阅读 · 0 评论 -
一,Java基础面试~~集合框架基础知识(简)
1、Java集合框架的基础接口有哪些?Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。Ma...原创 2017-08-30 15:27:09 · 79 阅读 · 0 评论 -
jsp四种会话跟踪技术
会话作用域ServletsJSP 页面描述 一,page 是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面 二,request 是代表与 Web 客户机发出的一个请求相关的对象和属...原创 2017-02-06 15:08:25 · 241 阅读 · 0 评论 -
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译)...原创 2017-02-06 15:19:33 · 62 阅读 · 0 评论 -
拦截器与过滤器的区别
1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。 2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 4. 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问 5. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在...原创 2017-02-10 09:50:15 · 70 阅读 · 0 评论 -
五、开源框架~面试~~spring
一、Spring基础知识及IOC_选择题1. 下面关于spring描述错误的是:(C)A Spring支持可插入的事务管理器,使事务划分更轻松,同时无需处理底层的问题。B Spring事务管理的通用抽象层还包括JTA策略和一个JDBC DataSource。C 与JTA或EJB CMT一样,Spring的事务支持依赖于Java EE环境。D Spring事务语义...原创 2017-12-26 09:24:42 · 230 阅读 · 0 评论 -
解决页面传参到控制器时的乱码问题
方法一:String reachName=new String(((request.getParameter("reachName")==null||"".equals(request.getParameter("reachName")))?"":request.getParameter("reachName")).getBytes("iso-8859-1"),"utf-原创 2016-08-31 16:11:29 · 263 阅读 · 0 评论