- java基础-线程间通信方式
问道飞鱼
Java开发技术java开发语言
文章目录1.wait()和notify()2.volatile关键字3.Java.util.concurrent包提供的工具类Semaphore(信号量)BlockingQueue(阻塞队列)4.Atomic类在Java中,线程间的通信是非常重要的,尤其是在多线程编程中,它有助于协调线程的行为,确保资源的正确访问和更新。Java提供了多种方式来实现线程间的通信,主要包括以下几种方法:1.wait(
- LinkedBlockingQueue比BlockingQueue吞吐量高的原因?
代码哲学
java
目录1.首先吞吐量是什么?如何衡量程序的吞吐量?2.LinkedBlockingQueue吞吐量高的原因?1.首先吞吐量是什么?如何衡量程序的吞吐量?吞吐量是指在一定时间内系统或程序处理的任务数量或数据量。在计算机领域,吞吐量通常用来衡量系统、程序或设备在单位时间内处理的工作量或数据量,是评估系统性能的重要性能之一。可以从吞吐量通常可以通过以下方式进行衡量:任务完成数量:单位时间内完成的任务数量来
- Java 并发集合:阻塞队列集合介绍
栗筝i
栗筝i的Java技术栈#Java基础栗筝i的Java技术栈Java基础Java并发Java集合阻塞队列
大家好,我是栗筝i,这篇文章是我的“栗筝i的Java技术栈”专栏的第028篇文章,在“栗筝i的Java技术栈”这个专栏中我会持续为大家更新Java技术相关全套技术栈内容。专栏的主要目标是已经有一定Java开发经验,并希望进一步完善自己对整个Java技术体系来充实自己的技术栈的同学。与此同时,本专栏的所有文章,也都会准备充足的代码示例和完善的知识点梳理,因此也十分适合零基础的小白和要准备工作面试的同
- 第五章 Kafka 构建TB级异步消息系统
跟风。
仿牛客社区论坛kafkajava分布式
第五章Kafka构建TB级异步消息系统1、阻塞队列模拟阻塞队列publicclassBlockingQueueTest{publicstaticvoidmain(String[]args){//容量为10的阻塞队列BlockingQueuequeue=newArrayBlockingQueue(10);//生产者线程newThread(newProducer(queue)).start();//消
- Kafka,构建TB级异步消息系统
Fern977
牛客论坛学习笔记kafkajava分布式
1.阻塞队列BlockingQueue解决线程通信的问题阻塞方法:put、take。生产者消费者模式生产者:产生数据的线程消费者:使用数据的线程实现类ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueue、SynchronousQueue、DelayQueue等2.Kafka入门Kafka简介Kafka是一个分布式的流媒体平台应用:消息
- 仿论坛项目--Kafka,构建TB级异步消息系统
HUT_Tyne265
kafka分布式
阻塞队列•BlockingQueue解决线程通信的问题。阻塞方法:put、take。•生产者消费者模式生产者:产生数据的线程。消费者:使用数据的线程。•实现类ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueue、SynchronousQueue、DelayQueue等。Kafka入门•Kafka简介Kafka是一个分布式的流媒体平台。
- 常见面试2
LongProgrammer
面试pycharm职场和发展
目录1.AQS全称和组成部分有哪些?它的基本原理是什么?2.类加载器的分类有哪些?并解释什么是双亲委派机制(一定要描述如何违背双亲委派和典型实现)3.如何判断一个对象为垃圾对象?哪些对象可以作为GCRoot集合中对象?4.垃圾回收算法有哪些?(包含各自优缺点)1.AQS全称和组成部分有哪些?它的基本原理是什么?AbstractQueueSynchronizer抽象队列同步器组成FIFO阻塞队列,i
- Java 入门指南:Java 并发编程 —— 并发容器 TransferQueue、LinkedTransferQueue、SynchronousQueue
ZachOn1y
Javajava开发语言团队开发个人开发java-eeintellij-idea
BlockingQueueBlockingQueue是Java并发包(java.util.concurrent)中提供的一个阻塞队列接口,它继承自Queue接口。BlockingQueue中的元素采用FIFO的原则,支持多线程环境并发访问,提供了阻塞读取和写入的操作,当前线程在队列满或空的情况下会被阻塞,直到被唤醒或超时。常用的实现类有:ArrayBlockingQueue:并发容器ArrayBl
- Java 入门指南:Java 并发编程 —— 并发容器 LinkedBlockingQueue
ZachOn1y
Javajava开发语言intellij-idea个人开发团队开发后端
BlockingQueueBlockingQueue是Java并发包(java.util.concurrent)中提供的一个阻塞队列接口,它继承自Queue接口。BlockingQueue中的元素采用FIFO的原则,支持多线程环境并发访问,提供了阻塞读取和写入的操作,当前线程在队列满或空的情况下会被阻塞,直到被唤醒或超时。常用的实现类有:ArrayBlockingQueue:并发容器ArrayBl
- Java 入门指南:Java 并发编程 —— 并发容器 ArrayBlockingQueue
ZachOn1y
Javajava开发语言个人开发后端java-ee
BlockingQueueBlockingQueue是Java并发包(java.util.concurrent)中提供的一个阻塞队列接口,它继承自Queue接口。BlockingQueue中的元素采用FIFO的原则,支持多线程环境并发访问,提供了阻塞读取和写入的操作,当前线程在队列满或空的情况下会被阻塞,直到被唤醒或超时。常用的实现类有:ArrayBlockingQueueLinkedBlocki
- Java源码学习之高并发编程基础——AQS源码剖析之阻塞队列(下)
永往不庭
java学习后端性能优化
1.前言&目录前言:在上一篇文章AQS源码剖析之阻塞队列(上)中介绍了以独占锁模式下AQS的基本原理,AQS仅仅起到了一个“维持线程等待秩序”的作用,那么本篇文章继续讲解共享锁模式下的特点。AQS不操纵锁的获取或者释放,仅仅提供一个由双向链表组成的队列,让抢不到锁的线程进入队列排队并阻塞起来、持有锁的线程释放锁后“通知”(即从阻塞态中唤醒)排名最靠前的有效(非CANCELLED状态)节点去重新竞争
- 你的程序真的被中断了吗?
AI_Frank
java
在Java中,当一个线程被中断时,可能会触发InterruptedException。当这个异常被抛出时,Java会自动清除线程的中断标志。这是为了防止异常被连续抛出导致程序陷入无限循环,同时也为开发者提供了一个清晰的控制点来处理中断。异常清除中断标志位的原因防止异常被重复处理当线程在调用一些阻塞操作(如Thread.sleep、Object.wait、BlockingQueue.take等)时被
- 用C++实现一个并发编程阻塞队列BlockingQueue
photon_wa
C++多线程c++
用C++实现一个并发编程阻塞队列BlockingQueue#pragmaonce#include#include#includetemplateclassBlockingQueue{public:voidadd(constT&item){std::unique_locklock(m_mutex);m_queue.push(item);m_condition.notify_one();}voidad
- Go 语言调度器(schedule)的实现原理
Mindfulness code
Go语言开发开发语言Go时间片调度抢占式调度
每一个线程M都有一个调度协程g0,g0协程的主函数是runtime.schedule,该函数实现了协程调度功能。那么,Go语言是如何管理以及调度成千上万个协程呢?是否和操作系统一样,维护着可运行队列和阻塞队列?有没有所谓的按照时间片调度?或者是优先级调度?又或者是抢占式调度?1.调度器实现原理函数runtime.schedule实现了协程调度功能,怎么调度协程呢?第一步当然是获取到一个可运行协程G
- Java集合(19)——并发集合(7)——阻塞队列(0)——阻塞队列的架构和方法剖析
喵的波波鱼
#Java容器及源码剖析
目录1.什么是阻塞队列2.为什么要使用阻塞队列,有哪些好处?3.阻塞队列的架构和种类4.BlockingQueue的核心方法(1)抛出异常(2)特殊值(3)阻塞(4)超时1.什么是阻塞队列阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如图:线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素当阻塞队列为空时,从队列中获取元素的操作将会被阻塞试图从空的阻塞队列中获
- 【转】-Java并发编程:阻塞队列
booleandev
JUCJava转载
Java并发编程:阻塞队列该博客转载自**Matrix海子的Java并发编程:阻塞队列**Java并发编程:阻塞队列在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。在前面我们接触的队列都是非
- 线程池,定时器以及阻塞队列(生产者/消费者模型)
从零开始的-CodeNinja之路
java缓存数据库
博客主页:从零开始的-CodeNinja之路⏩收录专栏:线程池,定时器以及阻塞队列(生产者/消费者模型)欢迎大家点赞评论收藏⭐文章实现线程池,定时器以及阻塞队列,生产者/消费者模型线程池线程池是什么Executors创建线程池的四种方式线程池底层ThreadPoolExecutor的六大参数拒绝策略实现线程池定时器定时器的定义标准库中的定时器定时器的实现阻塞队列阻塞队列的概念生产者消费者模型阻塞队
- 每日五道java面试题之java基础篇(十二)
中北萌新程序员
java面试题java开发语言面试
目录:第一题谈谈你对AQS的理解,AQS如何实现可重⼊锁?第二题.Sychronized的偏向锁、轻量级锁、重量级锁第三题CountDownLatch和Semaphore的区别和底层原理第四题线程池中阻塞队列的作⽤?为什么是先添加列队⽽不是先创建最⼤线程?第五题对守护线程的理解第一题谈谈你对AQS的理解,AQS如何实现可重⼊锁?AQS是⼀个JAVA线程同步的框架。是JDK中很多锁⼯具的核⼼实现框架
- 【Linux学习】生产者-消费者模型
Chris在Coding
[Linux学习]从0到1linux设计模式c++后端服务器
目录22.1什么是生产者-消费者模型22.2为什么要用生产者-消费者模型?22.3生产者-消费者模型的特点22.4BlockingQueue实现生产者-消费者模型22.4.1实现阻塞队列BlockQueue1)添加一个容器来存放数据2)加入判断BlockingQueue情况的成员函数3)实现push和pop方法4)完整代码22.4.2[可选]修改成RAII风格代码22.4.3定义BlockingQ
- JAVAEE---多线程
不是懒大王
java-eejava前端
阻塞队列的实现classmyBlockingQueue{privatestaticString[]str=null;privatestaticintsize=0;privatestaticinthead=0;privatestaticinttile=0;Objectlocker=newObject();publicmyBlockingQueue(intn){str=newString[n];}pu
- Java并发集合之LinkedBlockingDeque使用与原理,附源码解析
不烦来了
Java并发集合JUCjava数据结构链表
LinkedBlockingDeque简介LinkedBlockingDeque是一个线程安全的双向并发阻塞队列,同时支持FIFO(先进先出)和FILO(先进后出)两种模式,并且为防止数据无限膨胀,可以设置阻塞队列的容量,默认不设置的话容量大小为Integer.MAX_VALUELinkedBlockingDeque特性继承AbstractQueue,是一个同时支持FIFO和FILO的双向队列线程
- Java并发包源码学习系列:阻塞队列实现之LinkedBlockingDeque源码解析
天乔巴夏丶
Java并发编程
文章目录LinkedBlockingDeque概述类图结构及重要字段linkFirstlinkLastunlinkFirstunlinkLastunlink总结参考阅读系列传送门:Java并发包源码学习系列:AbstractQueuedSynchronizerJava并发包源码学习系列:CLH同步队列及同步资源获取与释放Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别Java并
- 【Java多线程案例】实现阻塞队列
米饭好好吃.
多线程编程java开发语言
1.阻塞队列简介1.1阻塞队列概念阻塞队列:是一种特殊的队列,具有队列"先进先出"的特性,同时相较于普通队列,阻塞队列是线程安全的,并且带有阻塞功能,表现形式如下:当队列满时,继续入队列就会阻塞,直到有其他线程从队列中取出元素当队列空时,继续出队列就会阻塞,直到有其他线程往队列中插入元素基于阻塞队列我们可以实现生产者消费者模型,这在后端开发场景中是相当重要的!1.2生产者-消费者模型优势基于阻塞队
- 并发编程读书笔记第9章20190516
dahai2019
1.线程池主要处理流程1)判断核心线程池corePoolSize是否已满,如果不是则创建一个新的线程来执行任务(需要获得全局锁);如果都在执行任务,则进入下一个流程2)判断工作队列BlockingQueue(如有界队列,同步队列,优先级队列等)是否已满,未满则放入队列中;已满则进入下一个流程(线程池里面的线程执行完手上的任务后,会来读取队列中的任务进行执行)3)判断线程池(maximumPoolS
- 从零开始实现消息队列(一)
墨溱
队列数据结构
从零开始实现消息队列.什么是消息队列需求分析核心概念模型.什么是消息队列相信大家都了解过阻塞队列和生产者消费者模型,而阻塞队列最大的用途,就是用于实现生产者消费者模型,生产者消费者模型有以下好处:解耦合解释:当主机A给主机B发消息时,A给B发送请求,B给A返回响应,这样的场景中,A和B之间耦合性较高,但是如果在AB之间插入一个阻塞队列,在这种场景中,A发送的请求先存到阻塞队列中,B在接收来自A的请
- ArrayBlockingQueue 与 AQS中的ConditionObject
ppixiu
BlockingQueue是我们在使用线程池的时候使用比较多的等待队列,这里同时借助BlockingQueue分析下AQS中的ConditionObject。ArrayBlockingQueue构造函数:publicArrayBlockingQueue(intcapacity){this(capacity,false);}publicArrayBlockingQueue(intcapacity,b
- 【Linux】多线程同步与互斥
格式化、、
Linuxjava服务器jvm
目录前言1、Linux线程同步1.1、同步概念与竞态条件1.2、条件变量2、条件变量相关API2.1、初始化和销毁条件变量2.2、阻塞等待条件满足2.3、唤醒阻塞等待的条件变量2.4、为什么pthread_cond_wait需要互斥锁?⭐⭐⭐3、生产者消费者模型3.1、概念3.2、基于BlockingQueue的生产者消费者模型3.3、阻塞队列的实现前言这篇文章给大家带来线程同步与互斥的学习!!!
- 8. ArrayBlockingQueue
shallowinggg
ArrayBlockingQueue类实现了BlockingQueue接口。阅读BlockingQueue文本以获取有关的更多信息。ArrayBlockingQueue是一个有界的阻塞队列,它将元素存储在数组内部。有界意味着它无法存储无限量的元素,它可以同时存储的元素数量有一个上限。你需要在实例化时设置上限,之后无法更改,所以它和ArrayList有些区别,不要因为它们的名称相似而将它们的功能混杂
- Qt QQueue 安全的多线程队列、阻塞队列
火山上的企鹅
QT数据结构qtc++开发语言queue多线程队列
文章目录1.C++queue队列基本用法2.QtQQueue队列基本用法3.QtQQueue多线程队列4.QtBlockingQueue自定义线程安全的阻塞队列1.C++queue队列基本用法在C++中,queue是一个模板类,用于实现队列数据结构,遵循先进先出的原则。♦常用方法:·queueQ;//定义一个int型队列Q.empty();//返回队列是否为空Q.size();//返回当前队列长度
- Java 的 多线程&JUC
三池丶
javajvm开发语言
目录什么是多线程?并发和并行多线程的实现方式多线程的第一种实现方式多线程的第二种实现方式多线程的第三种实现方式小结多线程中常见的成员方法常用简单方法线程的优先级守护线程(备胎线程)礼让线程和插入线程(了解)线程的生命周期线程安全的问题同步代码块同步方法Lock锁死锁多线程的等待唤醒机制(生产者和消费者)消费者代码实现生产者代码实现总体代码实现阻塞队列实现等待唤醒机制线程的状态综合练习一线程栈线程池
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {