一.简述Java语音的基础语法由哪些部分组成?
1.关键字
2.标识符
3.注释
4.常量和变量
5.运算符
6.语句
7.函数(方法)
8.数组
二.简述你常用jdk中lang包和util包下类的名称
Java.lang
该包提供了Java编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了
java.lang:Boolean:将原始数据类型boolean对象化的类。该类的实例对象除了包含一个boolean值之外,还提供boolean String之间转化等处理boolean的方法。
Long 、Integer 、Byte、Float:对象化类
.Class :该类的实例对象表达Java应用中正在运行的类或者接口。该类没有公共的构造方法,所以不能由Java虚拟机自动实例化,而是由ClassLoader实例化
.Math :供了基本的数学运算方法
Java.util
该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类
日期类Date
随机数类Random
向量类Vector:提供了向量(Vector)类以实现类似动态数组的功能。在Java语言中。正如在一开始就提到过,是没有指针概念的,为了弥补这点缺陷
栈类Stack:Vecto的子类,提供了堆栈这种高级的数据结构
LinkedList类、ArrayList类、HashMap类
延伸
java.io:该包通过文件系统、数据流和序列化提供系统的输入与输出。
java.awt:这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
java.sql:该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
java.net:该包提供实现网络应用与开发的类。
三.如何提高反射的性能
需要多次动态创建一个类的实例的时候写一个缓存
四.有哪些主流的分布式数据库中间件
五.jdbc如何实现具名参数
https://www.cnblogs.com/longronglang/p/6271001.html
六.写出两个正则表达式:验证十五号或者十八号的身份证号、以大写字母开头,长度6至12位,必须包含字母数字
正则表达式
十八位: ^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$
十五位: ^[1-9]d{5}d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{2}$
简单的JS验证示例
function
isCardNo(card)
{
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var
reg = /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/;
if
(reg.test(card) ===
false
)
{
alert(
"身份证输入不合法"
);
return
false
;
}
}
七.写出Java中json遍历算法(请注意:有多级子节点)
八.基于Java反射技术设计ORM的解决思路
https://blog.csdn.net/u010005424/article/details/69789331
九.什么是多线程,线程并发怎么解决
进程可以简单的理解为一个可以独立运行的程序单位。它是线程的集合,进程就是有一个或多个线程构成的,每一个线程都是进程中的一条执行路径。
那么多线程就很容易理解:多线程就是指一个进程中同时有多个执行路径(线程)正在执行。
为什么要是用多线程(延伸)?
优点:
1.在一个程序中,有很多的操作是非常耗时的,如数据库读写操作,IO操作等,如果使用单线程,那么程序就必须等待这些操作执行完成之后才能执行其他操作。使用多线程,可以在将耗时任务放在后台继续执行的同时,同时执行其他操作。
2.可以提高程序的效率。
3.在一些等待的任务上,如用户输入,文件读取等,多线程就非常有用了。
缺点:
1.使用太多线程,是很耗系统资源,因为线程需要开辟内存。更多线程需要更多内存。
2.影响系统性能,因为操作系统需要在线程之间来回切换。
3.需要考虑线程操作对程序的影响,如线程挂起,中止等操作对程序的影响。
4.线程使用不当会发生很多问题。
总结:多线程是异步的,但这不代表多线程真的是几个线程是在同时进行,实际上是系统不断地在各个线程之间来回的切换(因为系统切换的速度非常的快,所以给我们在同时运行的错觉)
线程并发怎么解决:
十.列举最近阅读过的开源项目源码的项目名称
GitHub