java基础知识
田哥coder
我是田维常,一名热爱技术、热爱生活的Java程序员。专注于分享java基础、dubbo源码、zookeeper、 rabbitmq、mybatis源码、微服务springboot、集群、分布式、多线程等相关知识与实战经验。欢迎大家积极交流,共同探讨。也欢迎关注我的公众号:Java后端技术全栈。
展开
-
Java高频面试题和答案
一、Java 基础篇Object 有哪些常用方法?大致说一下每个方法的含义Java 创建对象有几种方式?获取一个类对象的方式有哪些?ArrayList 和 LinkedList 的区别有哪些?用过 ArrayList 吗?说一下它有什么特点?有数组了为什么还要搞个 ArrayList 呢?说说什么是 fail-fast?Hashtable 与 HashMap 的区别HashMap 中的 key 我们可以使用任何类作为 key 吗?HashMap 的长度为什么是 2 的 N 次方呢?H原创 2020-05-16 18:21:28 · 331 阅读 · 0 评论 -
Mysql排它锁演示
Mysql锁机制分为表锁和行锁Mysql锁机制对比:排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。以下是基于mysql存储引擎InnoDB演示,因为InnoDB支持表锁和行锁,并且InnoDB支持事务先建一张表...原创 2020-01-23 16:26:13 · 2208 阅读 · 0 评论 -
js操作的部分常用技术
1.文本框焦点问题onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件 input type="text" value="mm" onfocus="if(value=='mm) {value=''}" onblur="if(v转载 2013-05-16 13:23:11 · 1009 阅读 · 0 评论 -
xml的几种解析方式
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。本文将详细介绍用Java解析XML的四种方法。XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Docum转载 2013-05-15 16:23:18 · 1057 阅读 · 1 评论 -
java中的时间计算和格式处理方法
//一天秒数public final static long MILLISECONDS_OF_DAY = 1000 * 60 * 60 * 24;public final static long MINUTES_OF_DAY = 1000 * 60 * 60 * 24;public final static int days[] = {31,29,31,30,31,30,31,31,3原创 2013-05-17 10:49:17 · 1282 阅读 · 0 评论 -
解析XML文件,生成 String
/*** * @param path* @return* @throws Exception*/public String readXmlForString(String path) throws Exception{InputStream in = XNetService.class.getResourceAsStream(path);Reader reader原创 2013-05-15 15:36:36 · 844 阅读 · 0 评论 -
abstract class和interface 有什么区别
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代转载 2013-05-24 14:59:42 · 776 阅读 · 0 评论 -
ArrayList 和 Vector 的区别,HashMap 和Hashtable的区别
就ArrayList与Vector主要从二方面来说.一.同步性:Vector是线程安全的,也就是说是同步的,而 ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Vector默认增长为原来一倍,而ArrayList却是原来的一半就HashMap与HashTable主要从三方面来说。一.历史原因:Hashtable是基于陈旧的Dictionary类的,Hash原创 2013-05-24 15:08:12 · 743 阅读 · 0 评论 -
SAXReader saxReader = new SAXReader();来解析xml文件
使用SAXReader需要导入dom4j-full.jar包。 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。/*** 解析XML文件,生成 List* @para原创 2013-05-24 09:23:07 · 11708 阅读 · 0 评论 -
如何在java中取map中的键值 的两种方法
第一种方法根据键值的名字取值import java.util.HashMap;import java.util.Map;public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stu原创 2013-05-24 10:39:20 · 61909 阅读 · 0 评论 -
java中的数字格式化
importjava.math.BigDecimal;importjava.math.MathContext; publicclass Numb { privatestatic double a = 122.2522; privatestatic String string = "15.5原创 2013-05-24 16:42:03 · 770 阅读 · 0 评论 -
java算法
1)分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(箱排序、基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。1)选择排序算法的时候1.数据的规模 ;转载 2013-05-26 10:16:39 · 791 阅读 · 0 评论 -
java startsWith和endsWith的用法
public class StringDemo{ public static void main(String args[]){ String s1="this is my original string"; String sd="original"; if (s1.startsWith(sd)) //startsWith()方法转载 2013-05-26 10:26:33 · 10169 阅读 · 0 评论 -
字符串生成xml文件
/*** 字符串,生成xml文件* @param str* @param fileName* @throws IOException*/public void strChangeXML(String str,String fileName ) throws IOException {SAXReader saxReader = new SAXReader(); Do原创 2013-05-24 15:48:12 · 2401 阅读 · 0 评论 -
webSphere配置问题
1:在安装升级时候会弹出一个“请找到.....软件维护.pak路径”,这只要选好你那个pak文件放在什么地方就行了2:新建数据源的配置问题,作用域:cell:xp-201211160925cell01:nodes:节点名。提供程序:Oracle JDBC Driver。名称:自己取(比如说funds5)。JNDI名称:jdbc/funds5。描述:New JDBC DataSource。h原创 2013-05-15 08:34:31 · 658 阅读 · 0 评论 -
Java IO学习笔记(三):字节流与字符流
先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用Out转载 2013-05-31 09:49:36 · 795 阅读 · 0 评论 -
java中的iobuffer
在做crc校验的过程中遇到了iobuffer转换成string的问题,自己找了点资料写了个简单的方法。 Java代码 package minaUDP; import java.nio.ByteOrder; import java.nio.charset.CharacterCodingException; import org.ap原创 2013-05-31 09:52:46 · 5422 阅读 · 1 评论 -
ssi框架简单叙述
MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用。近年来,随着java的盛行,MVC的低耦合性、高重用性、可维护性、软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts、WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框转载 2013-06-11 07:03:52 · 949 阅读 · 0 评论 -
java基础面试3
67、J2EE是技术还是平台还是框架? J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。 J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。68、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? Public String translate (Stri原创 2013-06-04 08:43:05 · 828 阅读 · 0 评论 -
java基础面试4
95、请对以下在J2EE中常用的名词进行解释(或简单描述)web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标原创 2013-06-04 08:44:01 · 710 阅读 · 0 评论 -
JAVA代码查错
1.abstract class Name { private String name; public abstract boolean isStupidName(String name) {}}大侠们,这有何错误?答案: 错。abstract method必须以分号结尾,且不带花括号。2.public class Something { voi转载 2013-06-04 08:44:55 · 617 阅读 · 0 评论 -
getFields()和getDeclaredFields()
getFields()获得某个类的所有的公共(public)的字段,包括父类。 getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,但是不包括父类的申明字段。 同样类似的还有getConstructors()和getDeclaredConstructors(),getMethods()和getDeclare转载 2013-06-04 09:57:46 · 1516 阅读 · 0 评论 -
double计算
/** * double计算使用 * @author clover * */public class DoubleMaths {/*** 返回DOUBLE相加* @param d1* @param d2* @return*/public static double sum(double d1,double d2){BigDecimal bd1 =原创 2013-06-04 11:40:49 · 938 阅读 · 0 评论 -
JAVA基础面试
1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称原创 2013-06-04 08:40:58 · 631 阅读 · 0 评论 -
java基础面试2
21、Static Nested Class和 Inner Class的不同。 Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。22、JSP中动态INCLUDE与静态INCLUDE的区别?动态INCLUDE用jsp:include动作实现 <jsp:include原创 2013-06-04 08:42:07 · 722 阅读 · 0 评论 -
JAVA编程题
1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供resetimport java.util.*;public class bycomma{ public static String[] splitStringByComma(String source){ if(source==null||source.trim().转载 2013-06-04 08:45:42 · 694 阅读 · 0 评论 -
java中ThreadLocal类的使用
什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景To keep state with a thread (user-id, transact转载 2013-06-04 11:21:48 · 659 阅读 · 0 评论 -
Mina 框架源码解析-NioSocketAcceptor启动过程
Mina 框架源码解析-NioSocketAcceptor启动过程在HeartBeatServer 中,有一句启动Server端的代码Java代码 // 创建一个非阻塞的server端的Socket acceptor = new NioSocketAcceptor(); 下面分析这个 new NioSocketAcceptor的过转载 2013-06-24 11:08:54 · 7230 阅读 · 0 评论 -
Mehtod类中invoke方法
1:Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,2:如果参数为基本类型数据,必须转换为相应的包装类型的对象。invoke()方法的返回值总是对象,3:如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,4:再将其返回原创 2013-06-24 14:58:58 · 1063 阅读 · 0 评论 -
java中的上传于下载
4.4.1 Struts2文件上传功能开发技术要点本节代码详细说明文件上传功能的开发流程,介绍知识点如下: = 文件上传页面和显示上传成功页面代码内容。 = UploadAction类中实现上传功能方法和上传文件属性介绍。 = struts.xml中UploadAction配置,以及字符编码、文件临时存放路径配置。 = 上传后所处路径和最终上转载 2013-06-24 18:33:37 · 2141 阅读 · 0 评论 -
Thinking in java 学习资料
http://blog.csdn.net/chjttony/article/category/1239948/1转载 2013-06-25 13:39:51 · 603 阅读 · 0 评论 -
关于StringBuffer的简单使用
在做开发的时候用到这个很正常,但是遇到一问题,就是StringBuffer没有拆分这个方法,于是想到。先使用他的apand方法加进去,然后使用toString把他转换成string类型,在把他拆分就容易了。第一次代码为:报错最后修改 成功。原创 2013-07-14 10:40:06 · 652 阅读 · 0 评论 -
java读取xml文件
今天在项目开发中遇到此问题,希望对新手有所帮助原创 2013-08-05 19:52:24 · 1393 阅读 · 0 评论 -
MyEclipse中右键项目Build Path菜单无子菜单的解决办法
MyEclipse中右键项目的弹出菜单中“Build Path”无子菜单,即:找不到"Configure Build Path"菜单项,在属性中也无法找到,导致无法配置项目的编译路径和附加的Jar包,经过反复尝试终于定位到项目目录下的“.project“文件上,出现上面的问题是因为此文件中的内容为空所致。下面提供一个可用的配置文件内容: zhjw转载 2013-09-22 11:34:34 · 12211 阅读 · 1 评论 -
java 中的sychronized的详解
第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,转载 2013-10-07 21:36:41 · 3674 阅读 · 0 评论 -
swing学习英文档
http://www.java2s.com/Tutorial/Java/0280__SWT/Catalog0280__SWT.htm转载 2013-10-08 16:45:45 · 686 阅读 · 0 评论 -
String 转byte[]
1.string 转 byte[]byte[] midbytes=isoString.getBytes("UTF8");//为UTF8编码byte[] isoret = srt2.getBytes("ISO-8859-1");//为ISO-8859-1编码其中ISO-8859-1为单字节的编码2.byte[]转stringString iso转载 2013-09-24 11:39:01 · 8780 阅读 · 0 评论 -
struts2的文件上传下载
4.4.1 Struts2文件上传功能开发技术要点本节代码详细说明文件上传功能的开发流程,介绍知识点如下:= 文件上传页面和显示上传成功页面代码内容。= UploadAction类中实现上传功能方法和上传文件属性介绍。= struts.xml中UploadAction配置,以及字符编码、文件临时存放路径配置。= 上传后所处路径和最终上传成功后效果展示。演示代码上传文件页面转载 2013-09-25 13:52:02 · 1088 阅读 · 0 评论 -
java文件读写,
有部分自己的,有部分网上找的,只是想总结知识,下次要用,拿出来用就好了,不用再到处找了原创 2013-09-25 08:56:16 · 1714 阅读 · 0 评论 -
BlockingQueue学习
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; /**转载 2013-09-26 15:43:47 · 774 阅读 · 0 评论