Java
文章平均质量分 78
华科易迅
这个作者很懒,什么都没留下…
展开
-
PHP+Nginx配置备忘
Nginx支持php脚本解释需要安装php-fpm进程管理器,在php5.3之前版本,php-fpm需要单独安装,之后版本php-fpm集成到PHP解释器之中,编译PHP解释器时需要特别指定配置,不同的PHP解释器版本编译经常出现兼容错误,在此可以成功编译php 7.2.15版本,其他版本(php 7.2.18)没有测试成功.wget php-7.2.15.tar.bz2 http://cn2.php.net/distributions/php-7.2.15.tar.bz2tar -xjvf php-7.2原创 2022-12-06 18:07:08 · 911 阅读 · 1 评论 -
红黑树平衡原理
红黑树定义红黑树本身也是一种二叉树,只是它是一棵平衡的二叉树,也就是两个分支均匀生长的,左右平衡的二叉树,这样的二叉树有利于内存寻址,内存寻址的时间复杂度能够做到O(logN),我们知道数组的内存寻址时间复杂度是O(1),只要知道数组下标就可以迅速找到数组元素的值,而链表的内存寻址时间复杂度是O(N),寻址链表中某个元素,必须从链头元素,依次寻找链表上的全部元素,直到找到目标元素为止。红黑树内存寻址的效率是在数组和链表之间。红黑树规则为了红黑树两个分支均匀分布,必须设定一些规则约定红黑树的行为。每原创 2022-05-30 10:52:58 · 883 阅读 · 0 评论 -
系统高并发设计
一、系统架构扩展系统的扩展性可以提供系统的性能。代表系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展可以分为两种:垂直扩展(stade up),提高单一的机器性能配置,如添加内存、更换更强的处理器等等。2.水平扩展(out),横向添加新机器。水平扩展比垂直扩展有更强大的扩展性,但水平扩展也来了更高的维护成本。实践中需要根据具体情况来寻求一个平衡点。二、静态化技术采用预...原创 2019-04-01 12:12:07 · 546 阅读 · 0 评论 -
Resteasy Restful框架
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来...原创 2019-03-26 22:11:06 · 7455 阅读 · 0 评论 -
二叉树
树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:1)有且仅有一个特定的称为根(Root)的结点;2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。结点的度结点拥有的子树数目称为结点的度。二叉树二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根...原创 2019-03-16 21:07:33 · 199 阅读 · 0 评论 -
JVM调优
JVM的调优主要涉及内存区域大小设置和垃圾回收算法,JVM内存结构如下图JVM内存区域分为年轻代、年老代、永久区。年轻代分为伊甸园区和两个大小相等的幸存区Survivor一、设置JVM启动时初始内存堆大小java -Xms2048m二、设置JVM最大内存堆大小java -Xmx3076m三、设置JVM年轻代内存大小java -Xmn2G四、设置年轻代与年老代比例java -X...原创 2019-03-11 15:37:27 · 406 阅读 · 0 评论 -
Java常用的设计模式
设计模式是编程解决实际问题或类似问题的最佳实践,Java编程中处处都是对象,对象需要创建,对象间需要相互调用,对象的模板是类,类与类需要相互关联引用,如何通用解决上述问题,经过长时间的编程实践总结出来的统筹方法就是设计模式,可以理解设计模式就是如何写出高效程序解决某类问题。设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:...原创 2019-03-10 17:51:04 · 17641 阅读 · 7 评论 -
Java归并排序
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列第二步:设定两个指针,最...原创 2019-02-19 11:44:43 · 382 阅读 · 0 评论 -
JAVA并发工具包-线程控制
CountDownLatchjava.util.concurrent.CountDownLatch 是一个并发控制器,协调一个或多个线程合作执行,使用CountDownLatch构造器实例对象时指定countDown的次数,如果线程A调用CountDownLatch.await方法,那么当countDown次数递减到零时,线程A方可继续向下执行。package com.hk;import...原创 2019-02-13 15:57:21 · 291 阅读 · 0 评论 -
JAVA HashMap Hashtable ConcurrentHashMap的区别
一、Hashtable与ConcurrentHashMap是线程安全的,HashMap则不是线程安全的。二、Hashtable和HashMap都实现了Map接口,Hashtable继承抽象类Dictionary。Java5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。三、HashTable采用底层数组和链表存储数据,键与值不能为nul...原创 2019-02-12 21:05:57 · 396 阅读 · 0 评论 -
JAVA并发工具包-阻塞队列
java.util.concurrent - Java 并发工具包Java 5 新添加了并发访问包java.util.concurrent 包。包含有一系列能够让 Java 的并发编程变得更加简单轻松的类,包括阻塞对象、锁、可用重入读写锁、线程池、写时复制集合等。阻塞对象BlockingQueueBlockingQueue是阻塞队列的接口,它可以保证多线程同时访问此对象时数据保持一致性,有...原创 2019-02-11 21:19:15 · 265 阅读 · 0 评论 -
Java写时复制CopyOnWriteArrayList
Copy-On-Write是一种程序设计的优化方法,多线程在不修改对象时可以共享一个对象地址空间,如果某一个线程要求修改对象时,需要首先将原来对象复制一份,在新复制的对象地址空间上修改对象内容,其他线程访问此对象时还是访问之前的旧对象,当新对象修改完成后,再将旧对象的指针指向新对象,这种优化方法适合读多写少的场景,体现了读写分离思想。从JDK1.5起;">使用CopyOnWrite机制实现的...原创 2018-11-18 21:39:03 · 527 阅读 · 0 评论 -
Java线程中阻塞队列
Java语言提供了java.util.concurrent包解决线程同步问题,concurrent包中的阻塞队列BlockingQueue能够很好地线程同步问题,接口BlockingQueue提供如下几个线程同步方法保存数据: offer(obj):向队列BlockingQueue保存数据,如果BlockingQueue可以容纳,返回true,否则返回false.方法立刻返回不阻塞线程。...原创 2018-11-18 21:12:49 · 226 阅读 · 0 评论 -
Java可重入锁ReentrantLock
在JDK1.5之前,我们设计程序进行线程之间通信时必须使用同步锁,获得同步锁必须使用同步关键字synchronized(lock)的形式。JDK1.5提供了线程同步相关的包java.util.concurrent,引入了可重入锁ReentrantLock,使用起来很方便并且提高了代码运行效率。可重入锁ReentrantLock从概念上理解是,此锁多线程可以分别分时拥有的意思,举个简单例程说明我...原创 2018-11-18 21:00:38 · 126 阅读 · 0 评论 -
Java 注解
原创 2018-11-15 21:08:27 · 166 阅读 · 0 评论 -
Java RMI调用
注意:运行rmiregistry之前,必须将classpath路径设置指向当前类所在文件目录。https://pan.baidu.com/s/1nwqFUXj原创 2018-11-15 21:01:18 · 178 阅读 · 0 评论 -
JVM类加载器
Java编程中除了基本数据类型,绝大多数都是使用引用类型变量,也就是我们常说的对象,基本数据类型也可以自动装箱为对应的引用类型变量,所以Java编程中一切皆为对象,JVM本身提供基本类库JFC,开发者可以自己设计类库,也可引用第三方类库,JVM是如何使用这些类文件的是我们本节研究的课题。在此抛出几个结论,然后使用Java代码验证这些结论的正确性,对不确定的功能给出一些推测,大家可以参考官方文档继续...原创 2018-09-11 09:43:13 · 198 阅读 · 0 评论