- 博客(13)
- 收藏
- 关注
转载 Centos ping不通百度彻底解决
1.简介在职场过程中,有一个重要的内容就是熟练使用Linux操作系统,操作命令,而安装虚拟机,配置虚拟机环境则是开发的首要步骤。本文主要是对在VMWare中配置网络,使得通过虚拟机可以访问外部网络,ping通www.baidu.com而写。2.安装步骤2.1 安装VMware VMWare下载2.2 安装Centos2.2.1 安装Centos其他的参数不再赘述。如果在安装时提示Intel-VTx未启用,则重启,并在BIOS中开启Intel-VTx.在安装Centos,使用1708版
2020-06-19 11:52:53
1949
原创 Java面试题-MyBatis
Java面试题MyBatis1、什么是Mybatis?1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。3、通过xml 文件或注解
2020-05-14 23:44:15
364
原创 Java面试题-Spring
Java面试题Spring1.什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?1.轻量:Spring 是轻量的,基本的版本大约2MB。 控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。
2020-05-14 22:58:09
715
原创 Java面试题-Servlet+Tomcat
Java面试题Servlet1.Servlet 结构图Servlet 和 ServletConfig 都是顶层接口,而 GenericServlet 实现了这两个顶层接口,然后 HttpServlet 继承了 GenericServlet 类.所以要实现一个 Servlet 直接就可以继承 HttpServlet2.Servlet 接口init 方法接收一个 ServletConfig 参数,由容器传入.ServletConfig 就是 Servlet 的配置,在 web.xml 中定义 Ser
2020-05-14 17:20:26
391
转载 ConcurrentLinkedQueue和LinkedBlockingQueue的区别
典型回答有时候我们把并发包下面的所有容器都习惯叫作并发容器,但是严格来讲,只有以“Concurrent”为前缀的容器才是真正的并发容器。ConcurrentLinkedQueue基于lock-free,在常见的多线程访问场景,一般可以提供较高吞吐量。而LinkedBlockingQueue内部则是基于锁,并提供了BlockingQueue的等待性方法。不知道你有没有注意到,java.util.concurrent包提供的容器从命名上可以大概分为Concurrent、CopyOnWrite
2020-05-13 22:23:42
415
转载 BlockingQueue
BlockingQueue(阻塞队列)详解一. 前言在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。二. 认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大致如下图所示: 从上图我们可以很清楚看到,通过一
2020-05-13 22:12:04
176
转载 Atomic
1. 同步问题的提出 假设我们使用一个双核处理器执行A和B两个线程,核1执行A线程,而核2执行B线程,这两个线程现在都要对名为obj的对象的成员变量i进行加1操作,假设i的初始值为0,理论上两个线程运行后i的值应该变成2,但实际上很有可能结果为1。 我们现在来分析原因,这里为了分析的简单,我们不考虑缓存的情况,实际上有缓存会使结果为1的可能性增大。A线程将内存中的变量i读取到核1算数运算单元中,然后进行加1操作,再将这个计算结果写回到内存中,因为上述操作不是原子操作,只要B线程在
2020-05-13 21:55:50
341
转载 线程安全的集合
在多线程中,如果要并发的修改一个数据结构,那么很有可能会破坏这个数据结构。例如,一个线程可能要向一个散列表中插入一个元素,假如在调整各个桶之间的链接关系时被剥夺了控制权,而此时正好有另外一个线程正在遍历链表,则可能会产生异常或者死循环。可以通过锁来保护共享的数据结构,但是选择线程安全的实现作为替代可能更容易一些。一、旧的线程安全的集合任何集合类都可以通过使用同步包装器变成线程安全的:List<E> synchArrayList = Collections.synchronizedList
2020-05-13 16:19:07
1031
转载 Volatile
volatile就可以说是java虚拟机提供的最轻量级的同步机制。但它同时不容易被正确理解,也至于在并发编程中很多程序员遇到线程安全的问题就会使用synchronized。Java内存模型告诉我们,各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。线程在工作内存进行操作后何时会写到主内存中?这个时机对普通变量是没有规定的,而针对volatile修饰的变量给java虚拟机特殊的约定,线程对volatile变量的修改会立刻被其他线程所感知,即不会出现数据脏读的现象,从
2020-05-13 15:18:34
209
原创 Java面试题-Java多线程
Java面试题Java多线程1.进程与线程的区别是什么。1.进程是程序在处理机上一次调度的过程,是动态的概念。 线程是进程的一个实体。2.进程是资源分配和系统调度的基本单位。 线程是cpu调度的基本单位。3.一个进程至少包含一个线程。线程的上下文切换速度要比进程快得多。2.单线程与多线程是什么关系。1.多线程是指在一个进程中,并发执行了多个线程, 每个线程都实现了不同的功能2.在单核CPU中,将CPU分为很小的时间片, 在每一时刻只能有一个线程在执行,是一种微观上轮流占用C
2020-05-13 10:46:34
853
原创 Java面试题-JVM
Java面试题JVM1.JVM中的内存是怎么划分的1.方法区(method area)2.堆(heap)3.虚拟机栈(Java Virtal Machine Stack)4.本地方法区(native method stack)5.程序计数器(program Counter Register)
2020-05-12 20:33:01
251
原创 Java面试题-Java基础
Java面试题JAVA 基础1. JAVA中的几种基本数据类型是什么,各自占用多少字节。Java中有八大基本数据类型分别是(注意:一个字节等于8位):|基本类型 | 所占字节 ||-byte- |- 1-|| short | 2 |基本类型 所占字节 基本类型 所占字节byte 1 boolean 未明确规定shot 2 char 2int 4 float 4long 8 double 8...
2020-05-11 22:22:44
288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人