
面试
weixin_43770982
这个作者很懒,什么都没留下…
展开
-
面试官:你分析过SpringMVC的源码吗?
1. MVC使用 在研究源码之前,先来回顾以下springmvc是如何配置的,这将能使我们更容易理解源码。 1.1 web.xml 1 <servlet> 2 <servlet-name>mvc-dispatcher</servlet-name> 3 <servlet-class>org.springframewo...原创 2019-04-21 16:57:36 · 387 阅读 · 0 评论 -
探讨一个“无法创建JVM”的问题
记录一个今天遇到的问题。 Java版本:1.4 运行设置: -Xms1G -Xmx4G 报错: [ Incompatible initial and maximum heap sizes specified: ] [ initial size:1073741824 bytes, maximum heap size: 67108864 bytes ] [ The initial hea...原创 2019-06-10 14:32:12 · 748 阅读 · 0 评论 -
Servlet开发之实现Servlet接口
安装好Tomcat后 在tomcat>lib下面的 这个servlet-apt.jar jar包需要导入到项目中. 第一步、创建java文件并实现Servlet接口: public class Hello implements Servlet{ // 该函数用于初始化该servlet(类似类的构造函数) // 这个函数只会被调用一次 (当用户第一次访问该serv...原创 2019-06-10 16:36:25 · 3035 阅读 · 0 评论 -
Spring Boot :Undertow
Undertow Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器 Untertow 的特点: 轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心 Jar 包组成,加载一个 Web 应用可以小于 10MB 内存 Servlet3.1 支持:它提供了对 Servlet3.1 的支持 WebSocket 支持:对 We...原创 2019-06-10 17:53:47 · 226 阅读 · 0 评论 -
maven依赖的版本管理
使用变量进行管理 定义一个版本号的变量 <properties> <spring-framework-version>4.3.7.REALEASE</spring-framework-version> </properties> 所有spring的jar版本都使用变量来定义版本: <dependency> <gr...原创 2019-06-16 14:31:38 · 530 阅读 · 0 评论 -
事务隔离级别
事务隔离级别: @Transactional(isolation = Isolation.READ_UNCOMMITTED):读取未提交数据(会出现脏读,不可重复读)基本不使用 @Transactional(isolation = Isolation.READ_COMMITTED):读取已提交数据(会出现不可重复读和幻读) @Transactional(isolation = Isola...原创 2019-06-11 11:12:47 · 151 阅读 · 0 评论 -
java构造函数(构造方法)
构造方法是类里的一个特殊的方法,他不能有返回值(包括void)。所谓构造方法,就是这个类在被实例化时(创建对象时)就要执行的方法,方法名为类的名字,一般的目的是为了给类进行一些初始化值。下面给个栗子 public class pen{ //成员变量 private double length; private double weigth; //构造方法 ...原创 2019-06-11 14:21:44 · 1424 阅读 · 0 评论 -
Spring4 + Spring MVC + MyBatis 整合思路
1、Spring框架的搭建 这个很简单,只需要web容器中注册org.springframework.web.context.ContextLoaderListener,并指定spring加载配置文件,那么spring容器搭建完成。(当然org.springframework的核心jar包需要引入) 当然为了更加易用支持J2EE应用,一般我们还会加上如下: Spring监听HTTP请求事件:...原创 2019-06-11 16:53:50 · 139 阅读 · 0 评论 -
eclipse使用maven创建web3.0项目
挺别扭的,eclipse和maven发展了这么久,二者都没有很好的解决这个问题。 默认情况下,使用maven骨架撞见的webapp只支持servlet2.3,eclipse又不允许随便修改为3.0。 网上流传最多的版本可能是修改项目目录中.settings/org.eclipse.wst.common.project.facet.core.xml文件,然后还要注意一堆东西。 我梳理了一种办法...原创 2019-06-17 14:53:21 · 176 阅读 · 0 评论 -
SSM(一)框架的整合
前言 最近这几年JetBrains公司开发的IDEA是越来越流行了,甚至Google的官方IDE都是IDEA来定制的,可见IDEA的发展趋势是越来越好,由于博主接触IDEA的时间也不长,所以有关IDEA和Eclipse的区别和优劣势请自行百度了。 借此机会我就使用IDEA来整合一下SSM,针对于初学者(初次使用IDEA和JAVAEE初学者)还是有帮助的。 新建SSM项目 哦对了,关于IDEA...原创 2019-06-18 10:44:50 · 143 阅读 · 0 评论 -
SSM(二)Lucene全文检索
前言 大家平时肯定都有用过全文检索工具,最常用的百度谷歌就是其中的典型。如果自己能够做一个那是不是想想就逼格满满呢。Apache就为我们提供了这样一个框架,以下就是在实际开发中加入Lucene的一个小Demo。 获取Maven依赖 首先看一下实际运行的效果图: 这个项目是基于之前使用IDEA搭建的SSM的基础上进行增加的,建议小白先看一下我上一篇博客。 以下是Lucene所需要的依赖: ...原创 2019-06-18 14:33:36 · 198 阅读 · 0 评论 -
maven 中配置多个mirror的问题
有个小伙伴遇到一个疑问:他的工作笔记本,在公司用部门搭建的maven私服做镜像,回到家用aliyun的镜像,每次都要改配置文件,很麻烦,希望能够不改动配置文件的情况下,动态切换mirror配置。 我们知道 settings.xml 中可以使用变量,可以尝试使用变量解决。 <mirrors> <mirror> <id>aliyun</id&...原创 2019-06-18 19:26:20 · 19988 阅读 · 0 评论 -
MySQL数据库开发的 36 条军规
来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。 核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数 把字符转化为数...原创 2019-06-24 18:52:28 · 255 阅读 · 0 评论 -
Myeclipse 简单配置jetty服务器
首先,工程路径下的WebRoot文件夹下应该有jetty.xml文件 其中箭头处一处为工程路径,另一个为启动地址 now 开始配置 Run -> Run Configurations 打开的界面 -> 选择Java Application -> 新建 -> Name(随意输入,自己好记就行,我写的guideFrame) 再进行如图操作 ...原创 2019-06-10 11:45:40 · 494 阅读 · 0 评论 -
深入分析String.intern和String常量的实现原理
背景 字符串类型在实际应用场景中使用非常频繁,如果为每个字符串常量都生成一个对应的String对象,明显会造成内存的浪费,针对这一问题,虚拟机实现一个字符串常量池的概念,提供了如下实现: 1、同一个字符串常量,在常量池只有一份副本; 2、通过双引号声明的字符串,直接保存在常量池中; 3、如果是String对象,可以通过String.intern方法,把字符串常量保存到常量池中; 本文JVM源码...原创 2019-06-14 14:49:43 · 136 阅读 · 0 评论 -
如何快速清理 docker 资源
如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察觉的应该是对磁盘空间的占用。本文将介绍如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的 镜像、容器、网络和数据卷。 查看 docker 占用的资源 在进行资源清理之前我们有必要搞清楚 docker 都占用了哪些系统的资源。这需要综合使用不同的命令来完成。docker conta...原创 2019-06-13 19:15:01 · 193 阅读 · 0 评论 -
为什么说Redis是单线程的以及Redis为什么这么快!
一、前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。 如果你在以前面试的时候还没有遇到过面试官问你《为什么说R...原创 2019-04-30 10:49:08 · 180 阅读 · 0 评论 -
Java对代码表的处理技巧
在Java中应用系统中,常常会有很多的代码表要处理,这些处理需求主要表现在通过代码获取名称,获取该代码的其他信息,如果每次都通过查询数据库来处理,是必消耗大量的资源,速度也慢,因为每次连接连接数据库要付出的代价是高昂的。 那如何解决上面这些问题呢?我们可以考虑使用Java对象的缓存技术来实现,即,将代码表以对象的方式存储起来,最容易考虑到的就是Map对象,Map的key用来存放代码,value用来...原创 2019-05-30 16:54:31 · 144 阅读 · 0 评论 -
泛型的意义和作用是啥?
简单的说,意义和作用有: 类型的参数化,就是可以把类型像方法的参数那样传递。这一点意义非凡。 泛型使编译器可以在编译期间对类型进行检查以提高类型安全,减少运行时由于对象类型不匹配引发的异常。 泛型方法,算法的复用。蛮神奇的。 想要理解为什么引入泛型,就要知道没有泛型的麻烦。 我们知道现在的程序开发都是面向对象了,所以程序里会有很多各种类型的对象,对象多了肯定需要有某种类型的容器来装。所以...原创 2019-06-05 11:14:33 · 133 阅读 · 0 评论 -
如何使用Spring优雅地处理REST异常
1. 概览 本文将举例说明如何使用Spring来实现REST API的异常处理。我们将同时考虑Spring 3.2和4.x推荐的解决方案,同时也会考虑以前的解决方案。 在Spring 3.2之前,Spring MVC应用程序中处理异常的两种主要方式是:HandlerExceptionResolver或注解@ExceptionHandler。这两种方式都有明显的缺点。 在3.2之后,我们有了新...原创 2019-06-12 14:43:05 · 191 阅读 · 0 评论 -
javascript构造可以上传文件的form表单(通过js修改enctype)
在上传文件时,我们都知道需要在form表单中加上enctype="multipart/form-data"。而在开发过程中,也有可能遇到需要用javascripts构造form表单的情况。一般javascript构造form,可以使用以下方法: var form = document.createElement('form'); form.id="the_form"; form.ac...原创 2019-06-12 16:40:30 · 1171 阅读 · 0 评论 -
探秘“==”与“equals()”的区别
概括 用途:equals()和“==”操作用于对象的比较,检查俩对象的相等性。 性质:前者是方法,后者是操作符。 区别: ==是判断两个变量或实例是不是指向同一个内存空间 equals()是判断两个变量或实例所指向的内存空间的值是不是相同 ==是指对内存地址进行比较 equals()是对字符串的内容进行比较 ==指引用是否...原创 2019-06-12 19:16:43 · 156 阅读 · 0 评论 -
Java多线程理解:线程安全的集合对象
1、概念介绍 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,多线程先后更改数据会产生数据不一致或者数据污染的情况。 一般使用synchronized关键字加锁同步控制,来解决线程不安全问题。 2、线程安全的集合对象 ArrayLi...原创 2019-06-06 16:17:23 · 415 阅读 · 0 评论 -
(十四)Java中的Future模式
jdk1.7.0_79 本文实际上是对上文《ThreadPoolExecutor线程池之submit方法》的一个延续或者一个补充。在上文中提到的submit方法里出现了FutureTask,这不得不停止脚步将方向转向Java的Future模式。 Future是并发编程中的一种设计模式,对于多线程来说,线程A需要等待线程B的结果,它没必要一直等待B,可以先拿到一个未来的Future,等...原创 2019-06-06 17:02:13 · 130 阅读 · 0 评论 -
用ThreadLocal为线程生成唯一标识
在多线程编程中,有时候需要自动为每个启动的线程生成一个唯一标识,这个时候,通过一个ThreadLocal变量来保存每个线程的标识是最有效、最方便的方式了。 下面是JDK帮助文档的说明: ------------------------------------------------------------- public classThreadLocal<T>exten...原创 2019-06-06 19:05:37 · 915 阅读 · 0 评论 -
Java程序员面试失败的5大原因
下面是 Java 程序员面试失败最有可能的 5 大原因,当然也许这 5 点原因适用于所有的程序员,所以,如果你是程序员,请认真阅读以下内容。 #1 说得太少 尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。面试官会通过你对这些技术和非技术问题的回答来评估你的激情。他们也会通过模拟团队氛围和与你的交流互动来判断你的经验和能力。 所以,仅仅只用...原创 2019-05-29 17:07:51 · 125 阅读 · 0 评论 -
探讨Java内部类的可见性
在Java中,当生成一个内部类的对象时,此对象与制造它的外部类通过外部类的.this保持着联系,因此该内部类对象可以访问其外部类对象的所有成员,包括private成员。 而该内部类对象对于其他类的对象的访问,遵照常规的访问权限语法,这一点也没有什么特别支持。这里需要探讨的是,外部类以及其他类的对象可以如何访问到某个内部类对象,即内部类的可见性问题。 下面是一个示例程序Out.java,其中包含...原创 2019-06-13 14:28:42 · 476 阅读 · 0 评论 -
探索Java:应用Observer接口实践Observer模式
在Java中通过Observable类和Observer接口实现了观察者模式。Observer对象是观察者,Observable对象是被观察者。 1.实现观察者模式 实现观察者模式非常简单, [1]创建被观察者类,它继承自java.util.Observable类; [2]创建观察者类,它实现java.util.Observer接口; [3]对于被观察者类, 添加它的观察者: ...原创 2019-06-13 16:50:12 · 164 阅读 · 0 评论 -
面试官:Spring中用了哪些设计模式?
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。 好了,话不多说,开始今天的内容。spring中常用的设计模式达到九种,我们举例说明。 以后再也不怕面试官问我:Spring中用了哪些设计模式了。 简单工厂模式 又叫做静态工厂方法(Stat...原创 2019-07-13 15:14:39 · 122 阅读 · 0 评论