06 2017 档案

摘要:前几天复习了一下多线程,发现有许多网上讲的都很抽象,所以,自己把网上的一些案例总结了一下! 一. Thread.yield( )方法: 使当前线程从执行状态(运行状态)变为可执行态(就绪状态)。cpu会从众多的可执行态里选择,也就是说,当前也就是刚刚的那个线程还是有可能会被再次执行到的,并不是说一定 阅读全文
posted @ 2017-06-28 15:03 aspirant 阅读(1173) 评论(0) 推荐(0) 编辑
摘要:阿里面试官问我这个问题,我仔细总结了一下: 参考:sleep、yield、wait、join的区别(阿里面试) 如何线程执行running结束的话,会进入yield状态; 1. join()介绍 join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之后才 阅读全文
posted @ 2017-06-28 14:33 aspirant 阅读(543) 评论(0) 推荐(0) 编辑
摘要:(1)break 跳出当前循环体 (2)continue 跳过当前循环体continue后面的代码,继续执行下一个循环 (3)return 和循环没关系,就是跳出该函数 阅读全文
posted @ 2017-06-28 11:24 aspirant 阅读(358) 评论(0) 推荐(0) 编辑
摘要:我做了个例子 ,需要可以下载源码:代理模式 1、前言: Spring 的AOP 面向切面编程,是通过动态代理实现的, 由两部分组成:(a) 如果有接口的话 通过 JDK 接口级别的代理 (b) 如果没有接口的话,通过方法级别的代理 CGLib代理实现。 1.1 定义 什么是代理模式? 代理模式就是多 阅读全文
posted @ 2017-06-26 17:57 aspirant 阅读(3903) 评论(0) 推荐(0) 编辑
摘要:1、什么是CAS? CAS:Compare and Swap,即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是 阅读全文
posted @ 2017-06-26 15:00 aspirant 阅读(2996) 评论(0) 推荐(0) 编辑
摘要:volatile 与 synchronized 的比较(阿里面试官问的问题) ①volatile轻量级,只能修饰变量。synchronized重量级,还可修饰方法 ②volatile只能保证数据的可见性,不能用来同步,因为多个线程并发访问volatile修饰的变量不会阻塞。 synchronized 阅读全文
posted @ 2017-06-26 13:58 aspirant 阅读(1331) 评论(0) 推荐(1) 编辑
摘要:Java抽象类与接口的区别 抽象类和接口的对比 很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。 在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。 抽象类 抽象类是用来捕捉子类的通用特性的 。它不能被 阅读全文
posted @ 2017-06-26 11:19 aspirant 阅读(2727) 评论(0) 推荐(0) 编辑
摘要:今天阿里的人问我 equals 与hashcode的区别,我答不上来, 仔细查了一下,做了总结: (1) == 这是Java 比较内存地址,就是内存中的对象; java中的==是比较两个对象在JVM中的地址。比较好理解。看下面的代码: 上述代码中: (1)s1 == s2为true,是因为s1和s2 阅读全文
posted @ 2017-06-26 10:58 aspirant 阅读(2479) 评论(0) 推荐(1) 编辑
摘要:ket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话 阅读全文
posted @ 2017-06-26 09:20 aspirant 阅读(344) 评论(0) 推荐(0) 编辑
摘要:这两天去京东面试,面试官问了我一个问题,如何优化SQL 我上网查了一下资料,找到了不少方法,做一下记录 (一)、 首先使用慢查询分析 通过Mysql 的Slow Query log 可以找到哪些SQL运行很慢。耗时间 在my.ini中: long_query_time=1 log-slow-quer 阅读全文
posted @ 2017-06-25 19:10 aspirant 阅读(720) 评论(0) 推荐(0) 编辑
摘要:这个问题阿里经常问,参考:阿里面试 结论: (1)栈信息:jstack <pid>输出的信息。 (2)堆信息:jmap -dump <pid>输出的文件, (3)jstat查看gc情况,jstat -gc <PID> 间隔毫秒数 比如 jstat -gc 12345 5000 也就是每隔5秒打印进程 阅读全文
posted @ 2017-06-13 14:36 aspirant 阅读(18551) 评论(1) 推荐(0) 编辑
摘要:1.1、下载 官网 http://maven.apache.org/download.cgi 1.2、安装配置 apache-maven-3.3.3-bin.zip 解压下载的压缩包 1.3、配置环境变量 配置环境变量(需要先配置好%JAVA_HOME%环境变量): 查看是否配置成功: 二、本地仓库 阅读全文
posted @ 2017-06-12 15:55 aspirant 阅读(567) 评论(0) 推荐(0) 编辑
摘要:MySQL Server 有四种类型的日志——Error Log、General Query Log、Binary Log 和 Slow Query Log。 第一个是错误日志,记录 mysqld 的一些错误。第二个是一般查询日志,记录 mysqld 正在做的事情,比如客户端的连接和断开、来自客户端 阅读全文
posted @ 2017-06-12 10:36 aspirant 阅读(937) 评论(0) 推荐(0) 编辑
摘要:什么是 Binlog MySQL Server 有四种类型的日志——Error Log、General Query Log、Binary Log 和 Slow Query Log。 第一个是错误日志,记录 mysqld 的一些错误。第二个是一般查询日志,记录 mysqld 正在做的事情,比如客户端的 阅读全文
posted @ 2017-06-12 10:34 aspirant 阅读(4924) 评论(0) 推荐(1) 编辑
摘要:以下为spring常见面试问题: 1、Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式—在AOP和remoting中被用的比较多。 工厂模式—BeanFactory用来创建对象的实例。 单例模式—在spring配置文件中定义的 阅读全文
posted @ 2017-06-11 11:26 aspirant 阅读(517) 评论(0) 推荐(0) 编辑
摘要:1.介绍一下Spring的事物管理 1.介绍一下Spring的事物管理 参考:Spring 学习7 -事务 2、Spring如何处理线程并发问题 参考:Spring 学习7 -事务 2、Spring如何处理线程并发问题 Spring使用ThreadLocal解决线程安全问题 参考:ThreadLoc 阅读全文
posted @ 2017-06-11 10:47 aspirant 阅读(1984) 评论(0) 推荐(0) 编辑
摘要:1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果 阅读全文
posted @ 2017-06-08 15:19 aspirant 阅读(651) 评论(0) 推荐(0) 编辑
摘要:百度的面试官问:Web容器,Servlet容器,SpringMVC容器的区别: 我还写了个文章,说明web容器与servlet容器的联系,参考:servlet单实例多线程模式 SpringMVC的Controller 是单实例的(阿里面试题);至于原因 1、为了性能。 单例不用每次都new,当然快了 阅读全文
posted @ 2017-06-08 10:35 aspirant 阅读(1035) 评论(0) 推荐(0) 编辑
摘要:并发队列的选择 Java的并发包提供了三个常用的并发队列实现,分别是:ArrayBlockingQueue、ConcurrentLinkedQueue 和 LinkedBlockingQueue 。 ArrayBlockingQueue是初始容量固定的阻塞队列,我们可以用来作为数据库模块成功竞拍的队 阅读全文
posted @ 2017-06-07 17:55 aspirant 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:什么是AOP aop就是纵向的编程,业务1和业务2都需要一个共同的操作,与其往每个业务中都添加同样的代码,不如写一遍代码,让两个业务共同使用这段代码。 spring中面向切面编程用的是代理模式,它的实现有两种方式,一种是动态代理, 参考:深入理解Java反射+动态代理 一种是CGLIB,动态代理必须 阅读全文
posted @ 2017-06-07 17:05 aspirant 阅读(542) 评论(0) 推荐(0) 编辑
摘要:Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对JavaBean的生命周期进行 阅读全文
posted @ 2017-06-07 15:44 aspirant 阅读(348) 评论(0) 推荐(0) 编辑
摘要:Spring-Task 1、这是网上的: 后面是我自己的配置 Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式,下面将分别介绍这两种方式。 第一种:配 阅读全文
posted @ 2017-06-02 16:43 aspirant 阅读(861) 评论(0) 推荐(0) 编辑
摘要:如果需要查看具体的synchronized和lock的实现原理,请参考:解决多线程安全问题-无非两个方法synchronized和lock 具体原理(百度) 在并发编程中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑如何维护数据一致性,在java中synchronized关键字被 阅读全文
posted @ 2017-06-01 19:28 aspirant 阅读(26754) 评论(1) 推荐(4) 编辑

点击右上角即可分享
微信分享提示