java
文章平均质量分 69
小李飞刀8
这个作者很懒,什么都没留下…
展开
-
面试经历---阿里游戏(2020年09月28日晚上7点视频面试)
9月28日晚上进行了一次视频面试,阿里广州游戏部门,下面说下这次面试的情况1.自我介绍介绍了做过的项目,面试官就围绕做过的项目进行深挖。2.redis的集群方式如果节点挂掉怎么办?单个节点的并发量可以达到多少?3.压测压测是使用什么工具?压测使用多少台机器?压测的瓶颈是什么?网络?CPU?怎么定位压测的瓶颈的?4.SQL优化怎么做SQL优化?有哪些场景?表的数据库量有多少?有没分库分表?如果表的数据量达到瓶颈时,怎么优化查询性能。5.JVMJV原创 2020-10-01 23:58:09 · 1064 阅读 · 1 评论 -
TOMCAT线程模型及调优
一、Tomcat线程模型1. BIO 同步阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即Java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能也最低。启动tomcat看到如下日志,表示使用的是BIO模式。 tomcat6默认采用的。每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景。2. NIO 同步非阻塞I/O操作。是ja转载 2020-08-01 00:42:08 · 312 阅读 · 0 评论 -
解析Tomcat内部结构和请求过程
Tomcat Tomcat的组织结构 由Server.xml的结构看Tomcat的体系结构 Tomca的两大组件:Connecter和Container Connecter组件 Container组件 Tomcat 中其它组件 Tomcat Server处理一个HTTP请求的过程 Tomcat Server处理一个HTTP请求的过程TomcatTomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容转载 2020-08-01 00:30:03 · 183 阅读 · 0 评论 -
深入理解JAVA虚拟机---DUMP日志分析
1.编写样例import java.util.ArrayList;import java.util.List;public class TestVM { public static void main(String[] args) { List<Object> list = new ArrayList<Object>(); while(true) { Object object = new Object(); list.add(object);原创 2020-05-12 00:52:56 · 1276 阅读 · 0 评论 -
面试经历---S&;G(2016年02月27日上午面试)
S&G是一家外企,在广州琶州那边,下面附上这家企业的笔试题。2016年2月27日上午笔试题一. JAVA基础题1.什么是接口?接口就是一些方法特征的集合,是对对象的抽象。2.什么时候使用抽象类来替代接口?存在继承关系的情况下,可以使用抽象类来替代接口。3.什么是final关键字?什么时候能用它?(1)使用final修饰的类不可以被继承(2)使用final修饰的方...原创 2016-03-07 00:00:49 · 2237 阅读 · 5 评论 -
CAS单点登陆的原理
1.什么是CAS?CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目。2.术语解释2.1 单点登陆对于两个相互独立的系统A原创 2016-01-30 19:58:48 · 1166 阅读 · 0 评论 -
面试经历---广州金砖信息技术有限公司(2015年11月25日上午面试)
广州金砖信息技术有限公司才成立于2011年,专注于投资理财资讯内容,2015年11月25日约去面试,包括一轮技术面,轻松通过,再跟HR谈,再跟技术总监谈,最终拿到OFFER,17K,但最终还是没有去。下面总结一下主要的面试题。1. 对多线程的理解,线程中方法wait和sleep的区别和实现方式。2. 多线程中sychronized、volitile、lock的应用3.原创 2016-01-10 22:11:33 · 2536 阅读 · 0 评论 -
面试经历---YY欢聚时代(2015年11月21日上午初试、25日下午复试)
YY欢聚时代一年多前去面试过一次,当时鄙视了,在现在的公司呆了1年半了,感觉做得很不爽,而且薪资又不满意,所以想找个新工作,就想去YY面试。下面将两次YY面试的经历写出来,包括一次初试和一次复试的面试题目。一、2015年11月21日上午初试的面试题如下:1.做一下自我介绍画出正在做的B2B平台的架构图,包括各子系统(ec,buyer,seller,message,orde原创 2016-01-10 22:05:59 · 27173 阅读 · 1 评论 -
Java 多线程 并发编程
原文转自:Java 多线程 并发编程一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存转载 2015-11-30 00:09:52 · 752 阅读 · 0 评论 -
Elasticsearch原理
本文的内容主要来自《Elasticsearch权威指南》。1.Elasticsearch简介Elasticsearch是一个实时分布式搜索和分析引擎,它让你以前所未有的速度处理大数据成为可能。Elasticsearch是一个基于Apache Lucene的开源搜索引擎。Elasticsearch也使用Java开发并使用Lucence作为其核心来实现所能索引和搜索的功能,但是它的目的是通原创 2017-02-27 00:19:45 · 2003 阅读 · 0 评论 -
使用jreloader实现tomcat中class文件的热部署
在平常的项目开发或项目升级中,经常需要重启TOMCAT,如果是在本地重启,则会很耗费时间;如果是在生产上的服务器重启,不仅耗费时间,而且会影响系统的使用。如果能够在升级CLASS文件的时候,不需要重启TOMCAT,系统自动加载更新的class,实现热部署,则不仅能够节省升级时间,还不会影响系统的使用。原创 2017-10-03 00:11:45 · 2223 阅读 · 0 评论 -
深入理解JAVA虚拟机---JAVA虚拟机的内存划分
JAVA虚拟机的内存划分1、程序计数器当前线程所有的字节码的行号指示器,是线程独有的一块内存。2 、JAVA虚拟机栈线程私有的,用于存放局部变量表、操作栈、动态链接、方法出口等。3、本地方法栈存放本地方法中变量的内存区域。4、方法区各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。一般使用永久代来实现方法区。5原创 2017-10-24 23:17:40 · 339 阅读 · 0 评论 -
深入理解JAVA虚拟机---垃圾收集算法和垃圾收集器
垃圾收集算法和垃圾收集器1 、垃圾收集算法1.1 标记-清除算法先标记要回收的对象,在标记完成后统一回收所有被标记的对象。缺点:标记和清除两个过程的效率较低;标记清除后会产生大量不连续的内存碎片。1.2 复制算法将内存容量划分成大小相等的两块,每次只使用其中一块,当这一块内存用完了,就将还存在的对象复制到另外一块,再清理掉已使用过的内存空间。HotSpot虚拟机就是使用复制算法来回收年轻代的内在的...原创 2017-10-24 23:26:55 · 412 阅读 · 0 评论 -
深入理解JAVA虚拟机---GC日志详解
1.编写JAVA代码import java.util.ArrayList;import java.util.List;/** * -verbose:gc -Xms30M -Xmx30M -Xmn10M -XX:PermSize=200M -XX:MaxPermSize=200M -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:Survivor原创 2017-11-23 00:23:00 · 3312 阅读 · 0 评论 -
深入理解JAVA虚拟机---虚拟机类加载机制
本文内容来自《深入理解JAVA虚拟机》1. 虚拟机类加载机制1.1 类加载器类(1)启动类加载器Bootstrap ClassLoader这个类加载器使用C++语言实现(只限于HotSpot),负责加载存放在\lib目录中的,或者被-Xbootstrapclasspath参数所指定的路径中的,并且是虚拟机识别的类库加载到虚拟机内存中。启动类加载器无法被JAVA程序直接引用。(2原创 2017-12-21 23:21:49 · 345 阅读 · 0 评论 -
主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)
本文转载自微信公众号「工匠小猪猪的技术世界」主流数据库连接池常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。单线程,性能较差,适用于小型系统,代码600KB左右。DBCP (Da...转载 2018-05-21 23:52:47 · 782 阅读 · 0 评论 -
CentOS6.5安装kafka2
1.安装JDK81.1 下载JDKhttps://download.csdn.net/download/qq_35981283/10655412jdk-8u131-linux-x64.rar解压后获得jdk-8u131-linux-x64.rpm[root@localhost local]# rpm -ivh --prefix=/local jdk-8u131-linux-x6...转载 2019-08-13 00:04:17 · 275 阅读 · 0 评论 -
Spring MVC 详解
资源下载:Spring_MVC_教程_快速入门_深入分析V1.1.pdfSpringMVC核心配置文件示例.rar 作者:赵磊博客:http://elf8848.iteye.com 目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc Dispatc转载 2015-11-23 00:14:19 · 686 阅读 · 0 评论 -
SpringMVC之controller篇
概述继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能。现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系,仅仅使用注解就可以让一个 POJO 具有 Controller 的绝大部分功能 —— Spring MVC 框架的易用性得到了进转载 2015-11-22 23:09:48 · 542 阅读 · 0 评论 -
JAVA多线程编程---volatile与synchronized
在多线程编程中,经常会用到关键字volatile和synchronized,下面将详细说一下这两个关键字的作用和区别。1、volatile在JAVA内存模型中,分为主内存(main memory or stack memory)和工作内存(working memory),主内存保存着JAVA的实例变量、静态变量和数组元素;每个线程都有自己的工作内存,工作内存由缓存和栈组成,其中缓存保存着主原创 2014-03-15 23:45:00 · 1339 阅读 · 0 评论 -
JavaMail
1.JavaMail简介JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。2、原创 2014-08-04 22:57:13 · 1153 阅读 · 0 评论 -
Spring Security权限管理
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为原创 2014-09-04 23:43:44 · 3946 阅读 · 1 评论 -
spring调用quartz
1.quartz是一个作业调度框架,spring集成的quartz,使用非常方便。2.编写执行类import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Qua原创 2012-12-15 15:20:48 · 547 阅读 · 0 评论 -
Quartz任务调度快速入门
原文地址:Quartz任务调度快速入门转载 2014-11-16 23:08:45 · 768 阅读 · 0 评论 -
CentOS6.5下安装ActiveMQ
1.下载ActiveMQ[root@localhost softwares]# wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.tar.gz2.安装ActiveMQ解压文件apache-activemq-5.9.0-bin.tar.gz.tar.g原创 2014-12-03 11:17:56 · 10597 阅读 · 0 评论 -
ActiveMQ介绍
ActiveMQ介绍ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。主要特点:1. 多种语言和协议编写客户端。语言:Java, C, C++, C#, Ruby,转载 2014-12-03 12:06:45 · 2302 阅读 · 0 评论 -
ActiveMQ 样例
1.使用JAVA程序直接访问ActiveMQ1.1 发送消息package com.activemq;import java.util.Date;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.DeliveryMode;import javax.jms.Destina原创 2014-12-05 09:43:48 · 2296 阅读 · 0 评论 -
ActiveMQ性能测试
1. 测试环境(1) 操作系统Win7 旗舰版64位(2) CPUIntel(R) Core(TM) i5-3470 CPU @ 3.2GHz(3) JDKJDK1.6(4) ActiveMQActiveMQ5.7.0修改配置文件/conf/activemq.xml1. 测试步骤(1) 单个生产原创 2014-12-05 17:57:13 · 4004 阅读 · 0 评论 -
ActiveMQ集群
ActiveMQ集群的方式,按主从方式分有四种,Pure Master Slave、Shared File System Master Slave、JDBC Master Slave、Replicated LevelDB Store,下面详细介绍这四种主从集群。1、Pure Master Slave这是一种比较简单的主从集群方式,一个主点,一个备点,备点的数据只是主点数据的拷贝,当主点挂掉原创 2014-12-06 22:58:20 · 2334 阅读 · 0 评论 -
Memcached集群
尽管Memcached是分布式缓存服务器,但服务端并没有提供分布式功能,各服务节点之间无法实现数据的复制和备份。下面介绍Memcached的两种集群方式1.多个Memcached实例实现集群 由多个memcached实例组成的集群方式,可以在一定程度上缓解单点故障问题,如果一个节点出现故障,该故障节点上的数据会丢失,客户端会自动连接到其他节点,客户端从数据库读取数据并保存到新的me原创 2015-02-26 15:12:17 · 2599 阅读 · 0 评论 -
Memcached的简介、原理和安装说明
1、Memcached的简介Memcached 是一个免费、开源、高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。原创 2015-02-02 23:37:26 · 887 阅读 · 0 评论 -
redis集群
单台redis往往是不可靠的,因此需要做redis集群,下面将详细介绍单Master,多Slave下的redis集群方式。1.主从集群的原理主从集群下数据的同步流程如下:(1) 客户端向Master写入数据(2) Master执行完写命令后向客户端回复OK(3) Master向Slave同步数据 redis的主从集群可分为两种方式slave-read-only原创 2015-03-08 22:36:37 · 5537 阅读 · 0 评论 -
JavaWeb学习篇之----Session&&Cookie
本文转自:http://blog.csdn.net/jiangwei0910410003/article/details/23337043今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一下Session和Cookie的相关知识,首先我们来看一下Cookie的相关知识:一、Cookie简介:Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户转载 2015-09-05 16:00:23 · 605 阅读 · 0 评论 -
阿里巴巴面试题--Java对象初始化
本文转自:http://blog.csdn.net/ysjian_pingcx/article/details/19605335Java对象初始化 这是一道阿里巴巴的关于Java对象初始化的面试题,堪称经典,代码很简单(编写格式做了些修改),但是需要面试者对Java中对象初始化有一个透彻的认识,那么通过这道面试题,对我有点启发,所以希望在这里分享给大家,希望转载 2015-11-07 21:37:06 · 781 阅读 · 0 评论 -
HashMap 、LinkedHashMap、HashTable、TreeMap的比较
1、 共同点HashMap 、LinkedHashMap、HashTable、TreeMap都实现了Map接口,用于存储键值对,根据键得到值,键是不能重复的。2、 HashMap(1) 键可以为空(2) 不是线程安全如果有两个并发线程同时对HashMap进行修改,则会抛出异常:java.util.ConcurrentModificationException如果要实现线...原创 2014-01-19 23:46:34 · 926 阅读 · 0 评论