Java正则表达式(常用)

Java正则表达式(常用)

正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。
在regex包中,包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真正影响搜索的对象。另加一个新的例外类,PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外。

下面整理出来常用的正则表达式。

Java常见题目

Java常见题目

Springmvc请求处理流程

浏览器发送请求,DispatcherServlet接收请求,根据请求路径调用handlerMapping(记录请求路径与控制器的对应关系),handlerMapping返回控制器,dispatcher找到对应controller
接收请求并给与响应,把modelandview返回给dispatcher,dispatcher根据视图名,找到视图组件,响应浏览器.

Spring IOC、AOP的实现原理

IOC:Inversion of control,表示控制反转
传统的创建并获取的方式是new构造方法,在使用Spring以后,是类似于getBean()的作法,所以,就由掌握创建并管理对象的主动权,变成了放弃创建并管理对象的主动权,而是只关心如何获取对象,这样的做法就叫做控制反转。
AOP是将安全,事务等程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插入进去,实现了按照方面编程,提高复用性.

Java内存模型

Java内存模型

分为:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)。
1.程序计数器

  程序计数器(Program Counter Register),也有称作为PC寄存器。想必学过汇编语言的朋友对程序计数器这个概念并不陌生,在汇编语言中,程序计数器是指CPU中的寄存器,它保存的是程序当前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址),当CPU需要执行指令时,需要从程序计数器中得到当前需要执行的指令所在存储单元的地址,然后根据得到的地址获取到指令,在得到指令之后,程序计数器便自动加1或者根据转移指针得到下一条指令的地址,如此循环,直至执行完所有的指令。由于程序计数器中存储的数据所占空间的大小不会随程序的执行而发生改变,因此,对于程序计数器是不会发生内存溢出现象.

Git和SVN的区别

Git和SVN的区别

(1)最核心的区别Git是分布式的,而Svn不是分布的。能理解这点,上手会很容易,声明一点Git并不是目前唯一的分布式版本控制系统,还有比如Mercurial等,所以说它们差不许多。话说回来Git跟Svn一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项 目分支等操作,等网络再次连接上Push到Server端。

10个难回答的Java面试题

1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?

1.wait和notify不仅仅是普通方法或同步工具,更重要的是它们是Java中两个线程之间的通信机制 。对语言设计者而言,如果不能通过Java关键字(例如synchronized)实现此通信机制,同时又要确保这个机制对每个对象可用,那么Object类则是正确的声明位置。记住同步和等待、通知是两个不同的领域,不要把它们看成是相同的或相关的。同步是提供互斥并确保Java类的线程安全,而wait和notify是两个线程之间的通信机制。

2.每个对象都可上锁,这是在Object类而不是Thread类中声明wait和notify的另一个原因。

3.在Java中为了进入代码的临界区,线程需要锁定并等待锁定,他们不知道哪些线程持有锁,而只是知道锁被某个线程持有,并且他们应该等待取得锁,而不是去了解哪个线程在同步块内,并请求它们释放锁定。

本站总访问量: , 本页阅读量: