- Netty源码分析(二),Netty中的future和Promise,DefaultPromise的实现
L Y C
nettyjava学习
JUC包中的futureclassTest{publicstaticvoidmain(String[]args){FutureTaskhTask=newFutureTask{System.out.println(getCurrentThreadName()+"---------");System.out.println("洗好茶壶");System.out.println("灌上凉水");Syst
- Java多线程——ReentrantReadWriteLock源码阅读
6bdd3dcddb17
之前讲了《AQS源码阅读》和《ReentrantLock源码阅读》,本次将延续阅读下ReentrantReadWriteLock,建议没看过之前两篇文章的,先大概了解下,有些内容会基于之前的基础上阅读。这个并不是ReentrantLock简单的升级,而是落地场景的优化,我们来详细了解下吧。背景JUC包里面已经有一个ReentrantLock了,为何还需要一个ReentrantReadWriteLo
- 【Java】JUC并发(CAS、ThreadLocal)
Joker—H
java开发语言jvm经验分享笔记
CAS1、概述CAS全称为"CompareAndSwap",中文为"比较并交换"。它是一种无锁的非阻塞线程同步方式。同时相比于synchronize或者Lock来说,是一种轻量级的实现方案。2、用途1、AtomicIntegerAtomicInteger是Java中java.util.concurrent.atomic包下的一个类,它提供了一种原子操作整数的方式,适用于多线程环境下的计数器等场景。
- JUC——创建线程的方法
机器滴小白
JAVA学习笔记java开发语言JUC并发编程
1.继承Thread类原理:通过继承Thread类并重写其run()方法,定义线程的执行逻辑。(Thread类实现了Runnable接口)调用start()方法启动线程(JVM会自动调用run())。特点简单直接,适合快速实现线程逻辑。局限性:Java是单继承的,继承Thread后无法再继承其他类。//1.继承Thread类classMyThreadextendsThread{@Overridep
- Synchronized和ReentrantLock的区别
lzwglory
概述这是一个比较经典的问题,在面试和工作中也是常常会涉及到,所以今天我把它们的区别和相应的应用场景说明一下。介绍Synchronized是Java语言的关键字,可以在方法、代码块、对象等进行加锁,当它锁定的时候,同一时刻最多只有一个线程执行这段代码。ReentrantLock实现了JUC中的Lock,Lock框架是锁定的一个抽象,它允许把锁定的实现作为Java类,而不是作为语言的特性来实现。两者对
- 【Java】JUC并发(JUC并发集合、线程池)
Joker—H
java开发语言经验分享ideajvm
一、概念针对List、Map、Set、Queue等集合接口,提供了支持并发的线程安全的集合实现类。1、CopyOnWriteArrayList我们对该集合进行增、删、改时,并不会在原集合中进行操作,而是将原集合复制到一个新的集合中,对新集合进行操作后,再将新操作放回原集合。改集合使用ReentrantLock锁来实现线程安全,但是运行多线程并发进行读取,只允许一个线程进行写入。publicbool
- 【Java】JUC并发(线程的方法、多线程的同步并发)
Joker—H
java开发语言经验分享idea
线程的方法一、线程的插队:join()方法1、作用暂停当前线程的执行,直到调用join()的目标线程执行完毕,但不影响同一时刻的其他线程。//使用join()publicclassTest01{publicstaticvoidmain(String[]args)throwsInterruptedException{Threadt=newThread(()->{System.out.println(
- JUC并发编程-ReentrantLock(可重入锁)
No.Ada
java开发语言
相比于synchronized具备以下特点可中断(防止死锁避免无限制的等待)可以设置超时时间(超时后可放弃对锁的争夺)可以设置为公平锁(FIFO可以避免饥饿问题)支持多个条件变量(支持多个waitset,不满足哪个条件到哪个waitset去等)与synchronized一样,都支持可重入,但是需要手动加锁和释放ReentrantLocklock=newRentrantLock();//获取锁(不可
- JUC工具类
在黑马点评项目实战中使用Redis实现全局秒杀的课程中,提到了一个名词JUC,在测试生成随机id的有效性时使用到了JUC的工具类:CountDownLatch,这里简单进行一个介绍和了解,想学习更具体的有关多线程与并发编程的内容,可以去看黑马有专门的JUC教程。一、CountDownLatch:多线程协调工具类CountDownLatch是Java并发包(JUC)中的一个同步辅助类,主要用于协调多
- RocketMQ 基础教程-应用篇-死信队列
码炫课堂-码哥
rocketmq专题rocketmqjava
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析
- 【5.1.6 漫画JUC并发包】
漫画JUC并发包学习目标掌握JUC包核心工具类的原理和使用理解并发编程的底层机制掌握高频面试考察点能够在实际项目中正确使用并发工具故事开始小明:“老王,我在面试中总是被JUC包的问题难住,什么CountDownLatch、CyclicBarrier、Semaphore,听起来就头疼!”架构师老王:“哈哈,JUC包确实是Java并发编程的核心,但别担心,我用漫画的方式给你讲解,保证你能轻松掌握!”小
- 多线程和JUC
进程进程就是正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有他自己的内存空间和系统资源多进程意义在于计算机可以执行多个任务,提高cpu使用率我们在一边玩游戏,一边听音乐的时候,是cpu在做着程序间的高效切换让我们觉得是同时进行的注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一时间点,cpu只能执行
- Java 中的锁机制详解
笑衬人心。
JAVA学习笔记java开发语言面试
Java中的锁机制是实现多线程并发控制的核心手段,用于保证临界资源在多线程访问时的安全性。锁的设计与实现主要依赖JDK提供的synchronized和java.util.concurrent.locks包。一、锁的分类总览分类维度锁类型实现层面Java内置锁(synchronized)JUC显式锁(ReentrantLock等)可重入性可重入锁/非可重入锁公平性公平锁/非公平锁读写粒度独占锁/共享
- 24. Java JUC源码分析系列笔记-Semaphore
Thinker QAQ
JavaJUC源码分析java笔记开发语言
文章目录1.是什么2.原理分析2.1.uml3.公平信号量3.1.是什么3.2.使用3.3.原理分析3.3.1.构造方法3.3.1.1.公平Sync3.3.2.acquire3.3.2.1.调用AQS加共享锁3.3.2.1.1.尝试加锁【公平:队列前面有人排队那么直接返回失败】3.3.3.release3.3.3.1.调用AQS释放共享锁3.3.3.1.1.尝试释放共享锁4.非公平信号量4.1.是
- 22. Java JUC源码分析系列笔记-JDK1.8的ConcurrentHashMap
Thinker QAQ
JavaJUC源码分析java笔记开发语言
文章目录1.是什么2.如何使用3.原理分析3.1.构造方法3.1.1.Node3.2.put方法【有加锁】3.2.1.计算key的hash3.2.2.死循环3.2.3.第一次进来table为空,所以需要初始化table3.2.3.1.使用CAS加锁防止多线程同时初始化table3.2.3.2.其他线程让出CPU直到扩容完毕3.2.4.第二次进来table不为空,链表肯定为空【头节点为空】,那么CA
- 线程安全与锁机制深度解析
大曰编程
java面试安全java大数据
在Java并发编程中,线程安全与锁机制是保障多线程环境下数据一致性的核心技术。本文从线程安全的本质定义、实现策略及主流锁机制的原理与实践展开,结合JVM底层实现与JUC框架特性,构建系统化知识体系,确保内容深度与去重性。线程安全核心概念与分类线程安全本质定义线程安全指多个线程访问共享资源时,无需额外同步措施仍能保证操作结果符合预期。其核心挑战源于以下三个特性的冲突:原子性:操作不可分割(如i++实
- RabbitMQ学习笔记:rabbitmq-server -detached Warning: PID file not written; -detached was passed
码炫课堂-码哥
rabbitmq专题rabbitmq
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析
- 互联网大厂Java面试实战:严肃面试官与搞笑谢飞机的三轮提问
Fu Dun Yao
Java场景面试宝典Java面试JUCJVM多线程线程池HashMap
互联网大厂Java面试实战:严肃面试官与搞笑谢飞机的三轮提问本文通过一个面试故事,展示了互联网大厂Java求职者与严肃面试官的对话。面试官就Java核心技术、JUC、JVM、多线程、线程池、HashMap、ArrayList、Spring及相关框架、分布式技术、消息队列、中间件、数据库、Linux、Docker、设计模式及DDD等多个技术点,分三轮提问。求职者谢飞机偶尔能准确回答简单问题获得认可,
- AQS是什么?
程序员面试资料大全|各种技术书籍等资料-1000G一、AQS本质与定位AQS(AbstractQueuedSynchronizer)是Java并发包(java.util.concurrent.locks)的核心基础框架,它为实现阻塞锁和同步器提供了底层支持。JUC中超过80%的同步工具都基于AQS构建,包括:ReentrantLockSemaphoreCountDownLatchReentrant
- java juc面试题一般问什么?juc面试分析
对程序员来说,最重要的一个门槛就是面试了,虽然常有面试造核弹,工作拧螺丝的说法,但该要的面试还是要的,这里整理了一些java中juc相关面试题,快来了解下吧。一、juc具体是?Java5.0提供了java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常见的实用工具类,用于定义类似于编程的自定义子系统,包括线程池、异步IO和轻量级任务框架。提供可调的、灵活的线程池。还
- [redis 源码走读] - redis 与 raft 算法
码炫课堂-码哥
redis专题redisraft
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析码哥源码部分码哥讲源码-原理源码篇【2024年最新大厂关于线程池使用的场
- 【Java第75集】java实现线程同步的方式详解
文章目录一、无状态代码二、不可变对象三、`synchronized`关键字四、Lock接口五、分布式锁六、`volatile`关键字七、`ThreadLocal`对象八、JUC线程安全集合类1.基于锁的集合类2.基于CAS和分段锁的集合类3.基于写时复制的集合类4.阻塞队列(BlockingQueue)九、CAS原子类十、数据隔离设计线程安全问题是我们每个Java后端开发必知必会的知识点,今天我们
- Java 并发工具类核心使用场景深度解析
液态不合群
javawindows开发语言
在Java并发编程中,java.util.concurrent(JUC)包提供的工具类是解决多线程协作、资源控制及任务调度的关键。本文聚焦同步协调、资源控制、线程协作、并行计算四大核心场景,系统解析CountDownLatch、Semaphore、CyclicBarrier等工具类的设计原理与工程实践,确保内容深度与去重性,助力面试者构建场景化知识体系。同步协调场景:线程执行节奏控制一次性任务汇总
- Java 并发工具类核心使用场景深度解析
程序员
在Java并发编程中,java.util.concurrent(JUC)包提供的工具类是解决多线程协作、资源控制及任务调度的关键。本文聚焦同步协调、资源控制、线程协作、并行计算四大核心场景,系统解析CountDownLatch、Semaphore、CyclicBarrier等工具类的设计原理与工程实践,确保内容深度与去重性,助力面试者构建场景化知识体系。同步协调场景:线程执行节奏控制一次性任务汇总
- JUC核心解析系列(二)——显示锁深度解析
码不停蹄的玄黓
javaspringspringcloudspringbootjvm
JUC显式锁(Lock)终极指南:彻底碾压synchronized的高性能利器!作为Java并发编程的终极武器,Lock接口在高手手中能爆发出惊人的性能!本文将深度剖析其核心原理和实战技巧,助你彻底掌握这把高性能锁!一、为什么需要Lock?synchronized的致命缺陷在并发编程中,传统的synchronized关键字虽然简单易用,但在高并发场景下暴露出四大痛点:无法中断阻塞线程:线程只能死等
- Kafka源码分析(六)——Producer:Sender线程——Batch筛选
码炫课堂-码哥
kafka专题kafka分布式batch
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析码哥源码部分码哥讲源码-原理源码篇【2024年最新大厂关于线程池使用的场
- Java异步编程难题拆解:从基础到高阶实践
mikes zhang
javapython开发语言
引言异步编程已成为现代高并发系统的核心需求,尤其在微服务架构和云原生应用中。Java生态虽提供多套异步编程方案,但开发者仍面临回调地狱、线程管理、异常处理等系统性挑战。据行业统计,异步任务导致的线上故障中,40%源于资源泄漏,30%与异常处理不当直接相关。异步编程基础Java的异步编程演进可分为三个阶段:早期的Thread/Runnable、JUC包的Future,以及现代CompletableF
- JUC下的BlockingQueue详解
老城Code
java常用方法Java基础Java项目java中间件JUC高并发BlockingQueue并行处理后端
BlockingQueue是Java并发包(java.util.concurrent)中提供的一个接口,它扩展了Queue接口,增加了阻塞功能。这意味着当队列满时尝试入队操作,或者队列空时尝试出队操作,线程会进入等待状态,直到队列状态允许操作继续。这种设计模式有效地解决了生产者-消费者问题,确保了线程间的协作和同步,避免了忙等待,提高了系统的效率和响应性。详细介绍BlockingQueue是Jav
- Elasticsearch——Cluster API详解
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析码哥源码部分码哥讲源码-原理源码篇【2024年最新大厂关于线程池使用的场
- Elasticsearch——索引统计(_stats)详解
码炫课堂-码哥
elasticsearch专题elasticsearch搜索引擎
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析码哥源码部分码哥讲源码-原理源码篇【2024年最新大厂关于线程池使用的场
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found