自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 Centos ping不通百度彻底解决

1.简介 在职场过程中,有一个重要的内容就是熟练使用Linux操作系统,操作命令,而安装虚拟机,配置虚拟机环境则是开发的首要步骤。本文主要是对在VMWare中配置网络,使得通过虚拟机可以访问外部网络,ping通www.baidu.com而写。 2.安装步骤 2.1 安装VMware VMWare下载 2.2 安装Centos 2.2.1 安装Centos 其他的参数不再赘述。 如果在安装时提示Intel-VTx未启用,则重启,并在BIOS中开启Intel-VTx. 在安装Centos,使用1708版

2020-06-19 11:52:53 357

原创 Java面试题-MyBatis

Java面试题 MyBatis 1、什么是Mybatis? 1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要 关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁 杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中 的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 3、通过xml 文件或注解

2020-05-14 23:44:15 84

原创 Java面试题-Spring

Java面试题 Spring 1.什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是 有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用 开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2. 使用Spring框架的好处是什么? 1.轻量:Spring 是轻量的,基本的版本大约2MB。 控制反转: Spring通过控制反 转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。

2020-05-14 22:58:09 145

原创 Java面试题-Servlet+Tomcat

Java面试题 Servlet 1.Servlet 结构图 Servlet 和 ServletConfig 都是顶层接口,而 GenericServlet 实现了这两个顶层接口,然后 HttpServlet 继承了 GenericServlet 类.所以要实现一个 Servlet 直接就可以继承 HttpServlet 2.Servlet 接口 init 方法接收一个 ServletConfig 参数,由容器传入.ServletConfig 就是 Servlet 的配置,在 web.xml 中定义 Ser

2020-05-14 17:20:26 126

转载 ConcurrentLinkedQueue和LinkedBlockingQueue的区别

典型回答 有时候我们把并发包下面的所有容器都习惯叫作并发容器,但是严格来讲,只有以“Concurrent”为前缀的容器才是真正的并发容器。 ConcurrentLinkedQueue基于lock-free,在常见的多线程访问场景,一般可以提供较高吞吐量。 而LinkedBlockingQueue内部则是基于锁,并提供了BlockingQueue的等待性方法。 不知道你有没有注意到,java.util.concurrent包提供的容器从命名上可以大概分为Concurrent、CopyOnWrite

2020-05-13 22:23:42 92

转载 BlockingQueue

BlockingQueue(阻塞队列)详解 一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 二. 认识BlockingQueue 阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大致如下图所示:   从上图我们可以很清楚看到,通过一

2020-05-13 22:12:04 57

转载 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 103

转载 线程安全的集合

在多线程中,如果要并发的修改一个数据结构,那么很有可能会破坏这个数据结构。例如,一个线程可能要向一个散列表中插入一个元素,假如在调整各个桶之间的链接关系时被剥夺了控制权,而此时正好有另外一个线程正在遍历链表,则可能会产生异常或者死循环。 可以通过锁来保护共享的数据结构,但是选择线程安全的实现作为替代可能更容易一些。 一、旧的线程安全的集合 任何集合类都可以通过使用同步包装器变成线程安全的: List<E> synchArrayList = Collections.synchronizedList

2020-05-13 16:19:07 170

转载 Volatile

volatile就可以说是java虚拟机提供的最轻量级的同步机制。但它同时不容易被正确理解,也至于在并发编程中很多程序员遇到线程安全的问题就会使用synchronized。Java内存模型告诉我们,各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。线程在工作内存进行操作后何时会写到主内存中?这个时机对普通变量是没有规定的,而针对volatile修饰的变量给java虚拟机特殊的约定,线程对volatile变量的修改会立刻被其他线程所感知,即不会出现数据脏读的现象,从

2020-05-13 15:18:34 72

原创 Java面试题-Java多线程

Java面试题 Java多线程 1.进程与线程的区别是什么。 1.进程是程序在处理机上一次调度的过程,是动态的概念。 线程是进程的一个实体。 2.进程是资源分配和系统调度的基本单位。 线程是cpu调度的基本单位。 3.一个进程至少包含一个线程。线程的上下文切换速度要比进程快得多。 2.单线程与多线程是什么关系。 1.多线程是指在一个进程中,并发执行了多个线程, 每个线程都实现了不同的功能 2.在单核CPU中,将CPU分为很小的时间片, 在每一时刻只能有一个线程在执行,是一种微观上轮流占用C

2020-05-13 10:46:34 325

原创 Java面试题-JVM

Java面试题 JVM 1.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 79

原创 Java面试题-Java集合

Java面试题 集合

2020-05-12 16:35:29 166

原创 Java面试题-Java基础

Java面试题 JAVA 基础 1. JAVA中的几种基本数据类型是什么,各自占用多少字节。 Java中有八大基本数据类型分别是(注意:一个字节等于8位): |基本类型 | 所占字节 | |-byte- |- 1-| | short | 2 | 基本类型 所占字节 基本类型 所占字节 byte 1 boolean 未明确规定 shot 2 char 2 int 4 float 4 long 8 double 8 ...

2020-05-11 22:22:44 92

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除