- 博客(117)
- 资源 (25)
- 收藏
- 关注
原创 记录一次京东面试吧,面试的是虚拟平台的经验.
下午去的京东面试,虽然工作了五年,但是面试的时候还是怂了,哈哈。感觉自己还是什么都不会。但是面试中面试官说了一句话:所有都技术都是需要和场景结合起来。 接下来聊一聊问题吧: 正常流程:现自我介绍,然后聊一聊做过的项目。然后就开始聊Java基本功啦。 问题记得不是那么的全,想起哪个就写哪个啦。答案是找的。 创建线程有哪些方式?1.继承Thread类创建线程类 (1)定义Threa...
2018-05-05 21:58:04
1254
转载 Java 9 新特性概述
在网上找到的,先标明原著:https://www.ibm.com/developerworks/cn/java/the-new-features-of-Java-9/index.html Java 9 正式发布于 2017 年 9 月 21 日 。作为 Java8 之后 3 年半才发布的新版本,Java 9 带来了很多重大的变化。其中最重要的改动是 Java 平台模块系统的引入。除此之外,...
2018-03-21 15:25:59
623
转载 从ACID到CAP/BASE
本文是看《从Paxos到ZooKeeper分布式一致性原理与实践》-倪超 著。进行简单记录。ACID是什么?事务(Transaction) 是由一系列对系统中数据进行访问与更新的操作组成的一个程序执行逻辑单元(Unit),狭义上的事务特指数据库事务。一方面,当多个应用程序并发访问数据库时,事务可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。另一方面,事务为数据库操作序列提...
2018-03-21 14:10:35
432
转载 分布式系统中Java程序优化
分布式系统中Java程序优化选取图书《大型分布式网站架构设计与实践》作者:陈康贤单例对于I/O处理、数据库连接、配置文件解析加载等一些非常消耗资源的操作,我们必须对这些势力的创建进行限制,或者始终使用过一个公共的实例,以节约系统开销,这种情况下就需要使用单例模式。 public class Singleton { private static Singleton in...
2018-03-19 14:52:27
392
原创 CentOS 7 安装 RabbitMQ 3.7
CentOS 7 安装 RabbitMQ 3.7安装Erlang安装依赖sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git创建yum源 参考:(https://github.com/rabb...
2018-03-16 17:41:42
7832
2
原创 CentOS 7 安装 MongoDB 3.6
CentOS 7 安装 MongoDB 3.6安装步骤创建文件vi /etc/yum.repos.d/mongodb-org-3.6.repo文件内容[mongodb-org-3.6]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org...
2018-03-16 15:48:08
10522
原创 CentOS 7 安装 Redis4.0.2
安装步骤安装基础依赖sudo yum install -y gcc gcc-c++ make jemalloc-devel epel-release下载Redis( https://redis.io/download )wget http://download.redis.io/releases/redis-4.0.2.tar.gz解压tar到指定目录...
2018-03-16 10:00:06
436
原创 centOS 7 安装 mysql7-5
centOS 7 安装 mysql7-5用yum安装\# yum install mysql\# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm\# rpm -ivh mysql-community-release-el7-5.noarch.rpm\# yum install mys...
2018-02-26 14:54:13
429
原创 官网的 elastic 集群操作
elastic 集群https://www.elastic.co/guide/cn/elasticsearch/guide/current/distributed-cluster.html集群简要说明一个运行中的 Elasticsearch 实例称为一个 节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除
2017-10-24 17:46:45
325
原创 官网 elastic 简单的搜索使用
elastic 搜索原文摘取位置:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html 写这篇文章的时候是用的5.6.3 版本。安装遇到的问题:在:安装 ./bin/kibana plugin –install elastic/sense 的时候发现无法安装上去,提示:unknown command plu
2017-10-24 16:57:03
1777
原创 JMS + ActiveMQ 简单的demo
JMS两个主要概念: 消息中介 消息目标: 1、队列 2、主题两种传递模式: 点对点消息传递模型:每个消息都有一个发送者和一个消费者 发送者-〉队列-〉接受者 发布-订阅者消息传递模型:一条订阅信息,可以发送给多个订阅者 发布者-〉主题-〉订阅者们JMS优点:
2017-05-05 11:24:34
434
转载 oracle 查看被锁的表和解锁
oracle查看被锁的表和解锁--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$process ;SELECT * FROM v$locked_object;SELECT * FROM all_objects
2017-04-20 16:04:50
857
转载 oracle数据类型和对应的java类型
地址:http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.htm#BHCJBJCCSQL数据类型JDBC类型代码标准的Java类型Oracle扩展的Java类型 1.0标准的JDBC类型: CHARjava.sq
2017-02-16 10:51:05
814
原创 Java 多线程 优先级队列 PriorityBlockingQueue
import java.util.ArrayList;import java.util.List;import java.util.Queue;import java.util.Random;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util
2017-01-05 17:38:12
4575
原创 Java 多线程 无界的BlockingQueue DelayQueue
import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.DelayQueue;import java.util.concurrent.Delayed;import java.util.concurrent.ExecutorService;im
2017-01-05 14:26:23
1759
原创 Java 多线程 线程互相等待 CyclicBarrier
先介绍一下JDK内容:java.util.concurrent 类 CyclicBarrierjava.lang.Object 继承者 java.util.concurrent.CyclicBarrier--------------------------------------------------------------------------------public c
2017-01-03 16:09:33
1139
原创 Java 多线程 锁存器 CountDownLatch
import java.util.Random;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * Co
2017-01-03 10:47:58
500
原创 java 多线程 死锁 哲学家就餐问题
现在你理解了,一个对象可以有synchronized方法或其他形式的加锁机制来防止别的任务在互斥还没有释放的时候就访问这个对象。你已经学习过,任务可以变成阻塞状态,所以就可能出现两种情况:某个惹我怒在等待另一个任务,而后者又等待别的任务,这样一直下去,直到这个链条上的任务又在等待第一个任务释放锁。这得到了一个任务之间相互等待的连续循环,没有哪个线程恩给你继续。这被称之为 死锁 。 如果
2016-12-28 14:39:49
3976
原创 Java 多线程 任务间使用管道进行输入/输出
通过输入/输出在线程间进行通信通常很有用。提供线程功能的类库以“管道”的形式对线程的输入/输出提供了支持。它们在Java输入/输出类库中的对应物就是PipedWriter类(允许任务向管道写)和PipedReader类(允许不同任务从同一个管道中读取)。这个模型可以看成是“生产者-消费者”问题的变体,这里的管道就是一个封装好的解决方案。管道基本上是一个阻塞队列,存在于多个引入BlockingQue
2016-12-23 16:35:48
1169
原创 Java 多线程 生产者和消费者 队列
wait()和notifyAll()方法以一种非常低级的方式解决了任务互操作问题,即每次交互时都握手。在许多情况下,你可以瞄向更高的抽象级别,使用同步队列来解决任务协作问题,同步队列在任何时刻都只允许一个任务插入或移除元素。在java.util.concurrent.BlockingQueue接口中提供了这个队列,这个接口有大量的标准实现。你通常可以使用LinkedBlockingQueue,它是
2016-12-23 15:07:18
2560
原创 Java 多线程 生产者和消费者
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * 生产者和消费者 * * 请考虑这样一个饭店,它有一个厨师和一个服务员。这个服务员必须等待厨师准备好膳食。当厨师准备好时,他会通知服务员
2016-12-22 17:25:50
350
原创 java 多线程 线程之间的协作 notify()和notifyAll()
使用notify()而不是notifyAll()是一种优化。使用notify()时,在众多等待同一个锁的任务中只有一个会被唤醒,因此如果你希望使用notify(),就必须保证被唤醒的是恰当的任务。另外,为了使用notify(),所有任务必须等待相同的条件,因为如果你有多个任务在等待不同的条件,那么你就不会知道是否唤醒了恰当的任务。如果使用notify(),当条件发生变化时,必须只有一个任务能够从中
2016-12-22 14:19:45
579
1
原创 Java 多线程 线程之间的协作 wait()和notifyAll()
wait()使你可以等到某个条件发生变化,而改变这个条件超出了当前方法的控制能力。通常,这种条件将由另一个任务来改变。你肯定不想在你的任务测试这个条件的同事,不断地进行空循环,这被称为忙等待,通常是一种不良的CPU周期使用方式。因此wait()会在等待外部世界变化的时候将任务挂起,并且只有在notify()或notifyAll()发生时,即表示发生了某些感兴趣的事物,这个任务才会被唤醒并去检查所产
2016-12-20 16:18:09
473
原创 java 多线程 终结任务 关于I/O和synchronized
import java.io.IOException;import java.io.InputStream;import java.sql.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;im
2016-12-15 11:03:11
916
原创 java 多线程 终结任务 装饰性花园
import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/
2016-12-07 13:48:36
501
原创 java 多线程 解决资源冲突
/** * 在其他对象上同步 * * DualSync.f()(通过同步整个方法)在this同步,而g()有一个在syncObject上同步 * 的synchronized块。因此,这两个同步是互相独立的。 * * @create @author Henry @date 2016-12-06 */class DualSynch { private Object syncOb
2016-12-06 17:46:45
2602
原创 java 多线程 临界区的操作
import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUni
2016-12-06 14:19:38
1271
原创 java 多线程 原子类
import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.atomic.AtomicInteger;/** * Java SE
2016-11-30 10:37:49
402
原创 java 多线程 原子性和易变性的理解(还有可视性)
volatile关键字还确保了应用中的可视性。如果你将一个域声明为volatile的,那么只要对这个域产生了写操作,那么所有的读操作就都可以看到这个修改。即便使用了本地缓存,情况也确实如此,volatile域会立即被写入到主存中,而读取操作就发生在主存中。 理解原子性和易变性是不同的概念这一点很重要。在非volatile域上的原子操作不必刷新到主存中去,因此其他读取该域的任务也不必看
2016-11-29 16:02:23
1254
1
原创 java 多线程 异常情况 和 lock的简易用法
/** * 说明: 其中一个任务产生偶数,而其他任务消费这些数字。 * 这里,消费者任务的唯一工作就是检查偶数的有效性。 * * @create @author Henry @date 2016-11-24 * *//** * 首先,我们定义EvenChecker,即消费者任务,因为它将在随后所有的 * 示例中被复用。为了将EvenChecker与我们要试验的各种类型的生成器
2016-11-29 10:53:53
582
原创 java 多线程 异常处理
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 线程抛出异常实例。try catch是无法捕获异常的。 * * @create @author Henry @date 2016-11-23 * */public class ExceptionRun e
2016-11-23 15:34:55
425
原创 java 多线程 join 方法简单实例。
/** * * join()方法解释: * 一个线程可以在其他线程之上调用Join()方法,其效果是等待一段时间直到第二个线程结束才继续执行。 * 如果某个线程在另一个线程t上调用t.join(),此线程将被挂起,直到目标线程t结束才恢复 * (即t.isAlive()返回为假)。 * 也可以在调用join()时带上一个超时参数(单位可以是毫秒,或者毫秒和纳秒), * 这样如果目标线程
2016-11-23 11:14:34
554
原创 java 多线程 内部类实现
import java.util.concurrent.TimeUnit;/** * InnerThread1 创建了一个扩展自Thread 的匿名内部类, * 并且在构造器中创建了一个内部类的一个实例。如果内部类 * 具有你在其他方法中需要访问的特殊能力(新方法),那这么 * 做将会很有意义。但是,在大多数时候,创建线程的原因只是为 * 了使用Thread的能力,因此不必要创建匿名
2016-11-18 17:06:25
7550
原创 java 线程 简单例子
本片文章以Java多线程简单实力为主,全部的例子选自java 编程思想第四版,全部都是自己手动对书 编写,如有疑问请直接留言。import java.util.ArrayList;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.conc
2016-11-18 11:20:12
2077
原创 Java实现两个有序的单项链表的合并
无意中看到一道题,如下:现有两个有序(升序)的单向链表,请编写程序将这两个链表合并成一个,并确保合并后的链表也是升序的单向升序链表定义:public class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}请在下面的代码框架基础上编写:public class Solutio
2016-10-27 10:21:55
10226
6
原创 Java 版本的单项链表插入
前言:今天去一家公司去面试,聊了一会然后让我手写一段单项链表的插入,其实题目很简单。可是自己把自己绕到递归中去了。然后我就呵呵了。晚上下班回家,自己又重新整理了一下思路,写了一下代码。import java.util.Random;/** * 单项列表插入的测试类 * @date 2016-09-18 * @author Henry * */public class YK
2016-09-18 22:43:37
528
原创 枚举工厂表示形式
话不多说,直接上代码:/** * 枚举工厂第一种表示形式 */public enum CarFactory { FordCar, BuickCar; public Car create() { switch (this) { case FordCar: return new FordCar(); case BuickCar: return new BuickC
2016-09-12 16:27:17
865
原创 现实多重继承
话不多说,之间上代码:interface Father { public int strong();}interface Mother { public int kind();}class FatherImpl implements Father { public int strong() { return 8; }}class MotherImpl implem
2016-09-12 13:57:49
359
原创 UML 简要介绍
概述: 全称:Unified Modeling Language (UML)又称统一建模语言或标准建模语言。 UML可以通过称为4+1视图模型的软件系统结构来了解。这个模型的UML版本如图1.1所示。 图1.1 4+1模型视图 用例视图(use case view):定义了系
2016-09-09 16:40:34
938
Spring Security 3.1 +Spring +Servlet+JdbcTemplate
2013-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人