- 博客(26)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 JVM系列大纲
本系列主要分析JVM主要功能要点,初步大纲如下,会根据写作情况进行细化,目的在于梳理JVM的知识体系,具体分析文章会陆续发布。[JVM]类加载机制(1)[JVM]Java内存区域(2)[JVM]Java内存模型(3)[JVM]垃圾收集器(4)[JVM]内存分配策略(5)[JVM]调优工具(6)[JVM]调优GC参数(7)...
2018-03-31 23:44:47 427
原创 Java集合框架(三):Collection 源码分析
本文我们主要学习Java集合框架的根接口Collection,通过本文我们可以进一步了解Collection的属性及提供的方法。在介绍Collection接口之前我们不得不先学习一下Iterable,因为Collection接口继承了它。Collection接口类图从类图中我们看到Collection接口继承了Iterable接口 Iterable源码分析由类图我们可以发...
2018-03-31 23:09:40 1095 1
原创 Java集合框架(二):整体概览
Java集合框架简述Java中的集合类是一种工具类,就像是容器,存储任意数量的具有共同属性的对象,集合框架是一个用来代表和操纵集合的统一架构,包含如下部分:1、接口:接口是代表集合的抽象数据类型,接口允许集合独立操纵其代表的细节。java.util.Collection是集合框架的顶级接口,它包含了一些重要的方法,比如:size(), iterator(), add(), remo...
2018-03-31 20:49:22 1433 1
原创 Java线程之如何分析死锁及避免死锁
什么是死锁java中的死锁是一种编程情况,其中两个或多个线程被永久阻塞,Java死锁情况出现至少两个线程和两个或更多资源。 在这里,我们将写了一个简单的程序,它将导致java死锁场景,然后我们将分析它。怎么实现死锁下面我们一起看一个简单的死锁事例,在主线程中每隔5秒钟启动一个线程,每个线程的执行时间是3秒钟package com.lkf.mulithread;...
2018-03-31 16:23:08 16861 2
原创 Java线程之Dump
什么是线程dumpJava Thread dump记录了线程在jvm中的执行信息,可以看成是线程活动的日志。Java线程转储文件有助于分析应用程序和死锁情况中的瓶颈。如何获取线程转储文件在这里,我们将学习为java程序生成线程转储的多种方法,这些指令对于linux操作系统是有效的,但是在windows中,这些步骤可能有些不同。1.使用VisualVM Profiler右...
2018-03-31 14:44:54 2984
原创 Java线程之FutureTask
简述FutureTask是Future接口的实现类,并提供了可取消的异步处理的功能,它包含了启动和取消(start and cancel)任务的方法,同时也包含了可以返回FutureTask状态(completed or cancelled)的方法。我们可以自定义一个Future任务,然后使用线程池执行器Java Thread Pool Executor 去异步执行任务。FutureT...
2018-03-25 16:24:08 219
原创 Linux之JDK安装
1.确定JDK的具体版本号[root@bogon ~]# rpm -qa | grep jdkjava-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64...
2018-03-25 14:58:56 110
原创 Linux之tomcat安装与配置
1、创建目录[root@bogon tomcat]#mkdir /usr/local/java/tomcat2、上传压缩包并解压[root@bogon tomcat]# tar xvf apache-tomcat-7.0.69.tar.gz 3、删除压缩包[root@bogon tomcat]# rm -rf apache-tomcat-7.0.69.tar.gz...
2018-03-25 14:57:40 136
原创 Linux之zookeeper开机启动
1、用cd 命令切换到/etc/rc.d/init.d/目录下[root@bogon ~]# cd /etc/rc.d/init.d2、用touch zookeeper创建一个文件[root@bogon init.d]# touch zookeeper3、添加可执行权限[root@bogon init.d]# chmod +x zookeeper4、编辑zook...
2018-03-25 14:55:45 515
原创 Linux之vnc启动及异常处理
1)启动桌面1的服务[root@testdb ~]# vncserver :1New 'testdb:1 (root)' desktop is testdb:1Starting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/testdb:1.log2)手工杀掉已经启动的VNC服务进程...
2018-03-25 14:54:24 5168
原创 Linux之防火墙iptables
一、检查iptables服务状态1、首先检查iptables服务的状态[root@bogon ~]# service iptables statusiptables: Firewall is not running.说明iptables服务是有安装的,但是没有启动服务。如果没有安装的话可以直接yum安装yum install -y iptables2、启动iptabl...
2018-03-25 14:50:55 136
原创 centos常用命令
一、防火墙firewall1、添加服务到白名单firewall-cmd --add-service=dhcp ( 临时生效)firewall-cmd --permanent --add-service=ftp (加--permanent 将会写入到默认区域/etc/firewalld/zones/public.xml中,且需要--rel...
2018-03-25 14:48:27 155
原创 Centos7 内核升级及删除无用内核
导入keyrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装elrepo的yum源rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm安装内核yum --enablerepo=elrepo-kernel ...
2018-03-25 14:43:05 2502
原创 Java线程之Callable、Future
简述在多线程中有时候我们希望一个线程执行完毕后可以返回一些值,在java5中引入了java.util.concurrent.Callable接口,它类似于Runnable接口,但是Callable可以有返回值。Java Callable接口使用通用定义对象的返回类型,executor类提供了在线程池中执行Java调用的有用方法,由于可调用任务并行运行,所以我们必须等待返回的对象。...
2018-03-25 14:35:32 251
原创 Java线程之Timer
简述java.util.Timer是一个定时器,用来调度线程在某个时间执行。在初始化Timer时,开启一个线程循环提取TaskQueue任务数组中的任务,如果任务数组为空,线程等待直到添加任务;当添加任务时,唤醒线程,提取数组中标记为1的任务,如果该任务状态为CANCELLED,则从数组中删除任务,继续循环提取任务TimerTaskTimerTask是一个抽象类,它...
2018-03-25 13:42:47 830
原创 Java线程之ThreadLocal
翻译:https://www.journaldev.com/1076/java-threadlocal-example?utm_source=website&utm_medium=sidebar&utm_campaign=Core-Java-Sidebar-Widget 简述ThreadLocal类用来提供线程内部的局部变量,这种变量在多线程环境下通过get或set方...
2018-03-24 21:53:56 264
原创 Java线程之synchronized
翻译:https://www.journaldev.com/1061/thread-safety-in-java 我们知道线程安全在Java中是一个非常重要的主题,当多个线程操作共享数据时,如果没有任何控制,将会产生数据不一致的问题。数据不一致的重要原因是,当更新一个变量的值时,是分三步完成的,第一获取变量值,第二对变量值进行更新,第三将修改后的变量值刷新到内存。下面我们用一个简单程序来...
2018-03-24 20:59:41 232
原创 Java线程之wait()、notify()、notifyAll()
翻译:https://www.journaldev.com/1037/java-thread-wait-notify-and-notifyall-example简述java中Objct对象包含三个方法用于线程之间对于资源锁状态进行通讯,这三个方法分别是wait()、notify()、notifyAll(),今天我们就来学习一下这三个方法的应用。 任何对象上调用这些方法的当前线程都应该...
2018-03-24 17:39:59 298
原创 Java集合框架(一):大纲
Java集合框架之简述Java集合框架之CollectionJava集合框架之IteratorJava集合框架之HashSetJava集合框架之TreeSetJava集合框架之LinkedHashSetJava集合框架之HashMapJava集合框架之TreeMapJava集合框架之LinkedHashMapJava集合框...
2018-03-22 22:23:55 5085 1
原创 Java线程之生命周期
简述以下类图展示了线程生命周期中不同的状态。我们可以创建一个线程并启动它,但是线程状态从Runnable、Running、Blocked等状态的变化取决于系统线程调度器,java本身并不能完全控制。 线程状态New(新建状态)当我们用new创建一个线程对象时,线程的状态是新建状态,这个状态并不代表线程已经执行了,只是Java编程中的一个内部状态Runnable(就...
2018-03-22 22:03:52 228
原创 Java线程之join
简述Thread类的join方法用来使main线程进入阻塞状态,进而等待调用join方法的线程执行,join有三个重载方法:public final void join()使主线程进入阻塞状态,直到调用join的线程执行完成,如果线程被中断将抛出InterruptedException异常public final synchronized void join(long milli...
2018-03-22 21:35:28 217
原创 java线程之sleep
翻译:https://www.journaldev.com/1020/thread-sleep-java简述Thread .sleep()方法用来暂停当前线程的执行,以毫秒为单位。还有另一个重载方法sleep(long millis, int nanos),它可以用来暂停当前线程的执行,可以指定毫秒和纳秒,允许的纳秒值在0到999999之间Thread.sleep()实例以...
2018-03-22 21:34:02 665
原创 Java基础线程系列大纲
## Java 多线程之 线程创建 ## Java 多线程之 Sleep ## Java 多线程之 Join ## Java 多线程之 生命周期 ## Java 多线程之 wait, notify and notifyAll ## Java 多线程之 Synchronized ## Java 多线程之 ThreadLocal ## Java 多线程之 线程转储(dump) ## J...
2018-03-21 22:33:32 423
原创 Java线程之创建线程
翻译自:https://www.journaldev.com/1016/java-thread-example进程进程是一个自包含的执行环境,它可以被看成一个程序或应用程序。然而一个应用程序本身包含多个进程,Java运行时环境作为一个单独的进程运行,它包含不同的类和程序线程线程可以成为轻量级进程,一个进程包含很多线程,线程占用很少的资源在进程中创建和运行,线程共享进程的资源...
2018-03-21 22:16:19 275
原创 Java 并发编程(十九):ThreadPoolExecutor
ThreadPoolExecutor源码分析简介java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,因此如果要透彻地了解Java中的线程池,必须先了解这个类。本文就从源码着手开始一步步了解ThreadPoolExecutor类图ThreadPoolExecutor继承了AbstractExecutorService类...
2018-03-16 15:21:31 204
原创 Java 并发编程(十二):并发工具 CountDownlatch
1. CountDownlatch(计数器)描述:一个同步工具类,允许一个或多个线程等待其它线程完成操作类图 通过指定的count值进行初始化,调用await方法的线程将被阻塞,直到count值通过countDown()方法减小到0,所有等待的线程才会被释放继续执行。另外CountDownLatch不可能重新初始化或者修改CountDownLatch对象的内部计数器...
2018-03-16 14:40:27 293
JqueryMobile入门基础附源码
2013-07-12
unity导成xcode项目再嵌入到ios原生的xcode项目中,横竖屏约束
2016-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人