- 六、全局锁和表锁:给表加个字段怎么有这么多阻碍
nieniemin
数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类。6.1全局锁全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法,命令是Flushtableswithreadlock(FTWRL)。当你需要让整个库处于
- MySQL锁
沉着冷静2024
MySQLmysql数据库
MySQL锁文章目录MySQL锁MySQL中锁的分类创建索引时会锁表吗线上修改表结构会加什么锁Innodb存储引擎的行级锁有哪些Update语句中,不带where条件,加什么锁?MySQL实现乐观锁MySQL死锁MySQL死锁是怎么发生的?检查死锁如何避免死锁MySQL中锁的分类全局锁:主要用于全库逻辑备份表级锁:表锁、元数据锁、意向锁表锁:通过locktables语句对表进行加锁,它不仅限制其他
- Rides实现分布式锁,保障数据一致性,Redisson分布式事务处理
朱杰jjj
缓存分布式
分布式环境下分布式锁有三种方式:基于数据库分布式锁基于Redis分布式锁基于zk分布式锁本帖只介绍Redis分布式锁为什么需要用到分布式锁?在单机环境下一个服务中多个线程对同一个事物或数据资源进行操作时,可以通过添加加锁方式(synchronized和lock)来解决数据一致性的问题。但是如果出现多个服务的情况下,这时候我们在通过synchronized和lock的方式来加锁会出现问题,因为多个服
- Java并发编程-AQS详解及案例实战(上篇)
猿与禅
Java技术栈源码分析javaAQS并发编程原理
文章目录AQS概述AQS的核心概念AQS的工作原理AQS的灵活性使用场景使用指南使用示例AQS的本质:为啥叫做异步队列同步器AQS的核心机制“异步队列”的含义“同步器”的含义总结加锁失败的时候如何借助AQS异步入队阻塞等待AQS的锁队列加锁失败时的处理流程异步入队的机制总结ReentractLock如何设置公平锁策略以及原理设置公平锁策略公平锁的运作原理尝试获取锁释放锁性能与公平性的权衡tryLo
- Redisson分布式锁实现原理和使用
牧竹子
springboot#redisRedissonredis
常见的锁内存锁lock,synchronize分布式锁redis,zookeeper实现Redisson基于redis实现了Lock接口的分布式集群锁,是可重入锁,功能强大,源码复杂,比redis单机模式分布式锁可靠,稳定性更高,支持集群模式,支持锁根据业务时长自动延迟释放redis普通分布式锁存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel和cluster保证高可用
- 三、MySQL事务和锁
苏迪1
MySQL进阶
InnoDB数据库引擎支持事务。事务具有ACID(原子性、一致性、隔离性和持久性),还有不同的隔离级别(具有不同的隔离性)。事务的隔离级别是同通过锁的机制来实现的。锁在计算机中是协调多个进程或线程并发访问某一资源的一种机制。在数据库中,除了传统的计算资源(CPU、RAM、I/O等)争用之外,数据也是一种供许多用户共享访问的资源。数据库在进行并发访问的时候会自动对相应的对象进行加锁,以保证数据并发访
- 单例模式中的懒汉式、饿汉式、双重检查、静态内部类的理解
巅峰小苏
23种设计模式设计模式java多线程
在日常学习和开发中,单例模式经常遇到,想必大家多多少少都有些了解,比如:在Spring中创建的Bean实例默认都是单例模式存在的文章目录一、什么是单例模式?1、单例模式概念2、单例模式的特点3、单例模式的好处4、应用场景二、实现单例模式的实例1、饿汉式2、懒汉式3、双重检查加锁单例模式(双检锁式)4、枚举类5、静态内部类三、总结一、什么是单例模式?1、单例模式概念就是一个类只有一个实列,而且自行实
- 乐观锁和悲观锁
GG编程
java数据库开发语言
1.乐观锁:乐观锁假设数据冲突的可能性较小,因此不加锁,而是在更新数据时检查数据是否被其他事务修改过。乐观锁通常基于数据版本(Version)或时间戳(Timestamp)来实现。(1).实现方式:每次读取数据时,读取其版本号(或时间戳),在更新数据时,检查当前版本号是否与数据库中的版本号一致。如果一致,则更新成功;否则,说明数据已被其他事务修改,操作失败,需要重试。(2).优点:不会产生锁等待,
- 实战|springboot+redis+拦截器 实现接口幂等性校验
ApesKingMan
1概念幂等性,通俗的说就是一个接口,多次发起同一个请求,必须保证操作只能执行一次比如:订单接口,不能多次创建订单支付接口,重复支付同一笔订单只能扣一次钱支付宝回调接口,可能会多次回调,必须处理重复回调普通表单提交接口,因为网络超时等原因多次点击提交,只能成功一次等等2常见解决方案唯一索引--防止新增脏数据token机制--防止页面重复提交悲观锁--获取数据的时候加锁(锁表或锁行)乐观锁--基于版本
- 谈一谈MVCC
神州永泰
大数据mysqljavaoracle数据库jvm
一MVCC的定义MVCC(Multi-VersionConcurrencyControl,多版本并发控制)是一种用于数据库管理系统(DBMS)中的并发控制方法,它允许数据库读写操作不加锁地并发执行,从而提高了数据库系统的并发性能。MVCC主要是通过维护数据的多个版本来实现这一点的,每个事务在执行时都会基于数据的某个版本进行操作,这样即使多个事务同时操作同一数据,也不会相互干扰。二MVCC的主要特点
- JavaEE初阶-多线程2
炙热的大叔
JavaEE初阶java-eejavajvm
文章目录一、多线程安全问题1.1线程安全问题的原因1.2如何解决线程安全问题二、加锁2.1synchronized2.2synchronized的几种使用方式2.3synchronized的可重入性三、死锁3.1死锁的必要条件一、多线程安全问题代码示例如下:publicclassDemo20{staticintcount=0;publicstaticvoidmain(String[]args)th
- python面试知识汇总
m0_61721020
python
读写锁,不同点,应用场景互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒自旋锁:spinlock,在任何时刻同样只能有一个线程访问对象。但是当获取锁操作失败时,不会进入睡眠,而是会在原地自旋,直到锁被释放。这样节省了线程从睡眠状态到被唤醒期间的消耗,在加锁时间短暂的环境下会极大的提高效率。但如果加锁时间过长,则会非常浪费CP
- iOS——atomic、nonatomic、assign、_unsafe_unretain
糸师凛
ioscocoamacos
atomic和nonatomic在iOS开发中,当你定义一个属性时,编译器会自动为你生成一个带下划线的成员变量(实例变量)以及对应的getter和setter方法。如果你使用atomic修饰这个属性,那么编译器在生成setter和getter方法时,会在这些方法的内部实现中加入加锁操作。但是加锁只能保证getter和setter方法内部的线程安全,并不能保证对该属性的所有操作都是线程安全的。具体的
- webserver(1)
yundan1fengqing
服务器网络c++
WebServer(1)主要内容+技术重难点一、代码+注释,可以运行通过(初始版1)locker.h多线程必须加锁操作#ifndefLOCKER_H#defineLOCKER_H#include#include#include//线程同步机制封装类//互斥锁类classlocker{public:locker(){if(pthread_mutex_init(&m_mutex,NULL)!=0){t
- 开源AI图像识别:支持扫描文件批量识别快速对接数据库存储
思通数科x
人工智能计算机视觉图像处理OCR文本识别
随着数字化转型的不断深入,图像识别技术在各行各业中的应用越来越广泛。文件封识别作为图像识别技术的一个分支,能够有效地提高文件处理的自动化程度和准确性。本文将探讨文件封识别技术的原理、应用场景以及如何将识别后的内容批量对应数据库字段进行存储。开源项目介绍(可本地部署,支持国产化)思通数科研发了一款多模态AI能力引擎,专注于提供自然语言处理(NLP)、情感分析、实体识别、图像识别与分类、OCR识别和语
- Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?_android concurrentlinkedqueue
2401_84265972
程序员android安全
队列容器设计若用数组作为队列的容器,就必须得加锁,因为数组是一块连续内存地址,多线程场景下,读写同一块内存地址不得不互斥地访问。链式结构链式结构就没有这个烦恼。链的每个结点都对应不同的内存地址,在多线程场景下,取头结点和插尾结点就不存在并发问题。(至少是降低了并发问题产生的概率)通用的队列应该可存放任何类型的元素。综上,就得声明一个带泛型的链结点://结点privatestaticclassNod
- 人生苦短我用Python Excel文件基本操作
程序喵D
人生苦短我用Pythonpythonexcel
人生苦短我用PythonExcel文件基本操作前言文件基本操作的模块和类pathlib.Path类os.stat_result类time.struct_time命名元组time模块shutil模块示例查看属性拷贝文件重命名文件查找文件批量操作测试前言本文主要介绍通过Python中的pathlib模块,完成Excel文件基本操作,如查看文件属性,拷贝文件,重命名文件,查找文件等。文件基本操作的模块和
- MySQL数据库行级锁之间隙锁、临键锁
zhxjfjfkkfkfkeo
mysql数据库mysql
间隙锁默认情况下,InnoDB在REPEATABLEREAD事务隔离级别运行,InnoDB使用next-key锁进行搜索和索引扫描,以防止幻读。索引上的等值查询(唯一索引),给不存在的记录加锁时,优化为间隙锁。索引上的等值查询(非唯一普通索引),向右遍历时最后一个值不满足查询需求时,next-keylock退化为间隙锁。索引上的范围查询(唯一索引)–会访问到不满足条件的第一个值为止。注意:间隙锁唯
- 数据库面试题
dyjs.akcnzssa.s.
java数据库面试数据库
文章目录数据库并发的场景事务未提交和提交怎么解决读-写和写-写问题?事务的4大特征事务的隔离级别并发事务的问题MVVCundolog和redologmysql的锁全局锁(对数据库加锁)表锁(对表加锁)行锁参考文章:【MySQL笔记】正确的理解MySQL的MVCC及实现原理-@作者:SnailMann数据库并发的场景读-读:不存在任何问题,也不需要并发控制。读-写:有线程安全问题,可能会造成事务隔离
- Linux shell脚本实现命令批处理和文件批量分发
2401_85191843
linux运维服务器
使用$*接收脚本所有参数for循环遍历hosts文件中的ip地址通过ssh$host$cmd实现目的ip命令eval命令判断并打印命令执行结果for循环遍历完hosts则脚本运行结束3、批量分发脚本原理$1和$2接收参数文件名和分发路径for循环遍历hosts文件中的ip地址通过scp$1$host:$2实现分发文件到目的主机eval命令判断并打印命令执行结果for循环遍历完hosts则脚本运行结
- Linux:读者写者模型(读写锁)
ETalien_
Linux
读者写者模型(读写锁)在编写多线程时,有可能会出现有些公共区域的数据修改的机会比较少,但是读的机会反而很多,也就是说写者少,读者多。那么在读的过程中往往伴随着查找的操作,耗时较长,如果给这种代码加锁的话,会导致效率的降低,因此读写锁就是针对多读少写的情况。当前锁状态读锁请求写锁请求无锁可以可以读锁可以阻塞写锁阻塞阻塞这里默认是读锁优先的,因为读者非常的多,但是这样也就会导致写锁的饥饿问题。读者写者
- 接口性能优化的11个小技巧
2401_83916241
程序员性能优化
这里加锁的目的是为了防止并发的情况下,创建了相同的目录,第二次会创建失败,影响业务功能。但这种直接在方法上加锁,锁的粒度有点粗。因为doSave方法中的上传文件和发消息方法,是不需要加锁的。只有创建目录方法,才需要加锁。我们都知道文件上传操作是非常耗时的,如果将整个方法加锁,那么需要等到整个方法执行完之后才能释放锁。显然,这会导致该方法的性能很差,变得得不偿失。这时,我们可以改成在代码块上加锁了,
- jedis 与 redission 实现分布式锁
不知言愁
项目实战分布式redisjava
本文为博主原创,未经允许不得转载:1.Jedis实现分布式锁2.Redission实现分布式锁为了确保分布式锁可用,至少要保证锁的实现同时满足以下几个条件互斥性:在任意时刻只有一个客户端能持有锁不会死锁:即使有一个客户端在持有锁的期间发生崩溃而没有主动解锁,也能保证后续其它客户端能加锁容错性:只要大部分的Redis节点正常运行,客户端就可以加锁和解锁解铃还须系铃人:加锁和解锁必须是同一个客户端,客
- Python应用与实践
脚步的影子
pythonlog4j开发语言
目录1.Python是什么?1.1.Python语言1.2.Python哲学2.Python在工作中的应用2.1.实例1:文件批量处理2.2.实例2:xml与excel互转2.3.总结3.为什么选择Python?3.1.前途!钱途!3.2.开发效率极高3.3.总而言之4.还有谁在用Python?4.1.国外4.2.国内5.是不是想学习Python了?入门资料工具可能有些标题党,没有针对某些具体的应
- MVCC和多版本并发控制策略
jun778895
数据库oracle
MVCC:多版本并发控制引言在现代数据库管理系统中,并发控制是确保数据一致性和完整性的关键机制之一。随着应用程序对数据库性能要求的不断提高,传统的锁机制(如悲观锁)在某些场景下可能会成为性能瓶颈。为了克服这些限制,多版本并发控制(MVCC)应运而生,它允许数据库事务在读取数据时不必加锁,从而提高了并发性能。MVCC的基本原理MVCC通过为数据库中的每个记录维护多个版本来实现并发控制。每个事务在读取
- C++程序使用 STL 容器发生异常的常见原因分析与总结
dvlinker
C/C++实战专栏STL容器迭代器删除元素遍历多线程memset操作
目录1、概述2、使用STL列表中的元素越界3、遍历STL列表删除元素时对迭代器自加处理有问题引发越界4、更隐蔽的遍历STL列表删除元素时引发越界的场景5、多线程同时操作STL列表时没有加锁导致冲突6、对包含STL列表对象的结构体进行memset操作导致STL列表对象内存出异常7、最后VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/che
- Java 入门指南:Java 并发编程 —— CAS 机制实现乐观锁(Optimistic Locking)
ZachOn1y
Javajava开发语言个人开发后端运维安全
乐观锁乐观锁(OptimisticLocking)是一种并发控制机制,相对于悲观锁(如互斥锁)而言,它更倾向于假设并发冲突不会发生,从而减少锁的使用,提高并发性能。乐观锁并不需要像悲观锁一样显式地加锁和释放锁,而是通过比较数据版本或执行原子操作来实现并发控制。乐观锁适用于读操作远多于写操作、并发度较高的场景,能够提高并发性能,但需要考虑并发冲突的处理。在设计系统时,需要根据具体的应用场景来权衡选择
- JDK成长记16:从0分析你不知道的synchronized底层原理(下)
_程序员成长记
file上一节你了解了什么是CAS、synchronized形成的锁的类型、重量级锁是用户态进程向内核态申请资源加锁过程,HotSpotJava对象结构,以及初步从3个层面分析了下synchronized的核心流程。还记得核心流程图么?如下所示:file这一节我们仔细来分析下这个过程中,每一步的底层原理。我们需要用到一个工具包,JOL,它可以将java对象的信息打印出来。你可以通过这个工具分析升级
- java 线程安全的linkedlist_使ArrayList,LinkedList变成线程安全的
肖宏辉
java线程安全的linkedlist
1.使用SynchronizedListSynchronizedList是一个线程安全的包装类。继承于SynchronizedCollection,SynchronizedCollection实现了Collection接口,SynchronizedList包含一个List对象,对List的访问修改方法进行了一些封装,在封装的方法中会对list使用同步锁加锁,然后再进行存取和修改操作。使用方法如下L
- 23. 如何使用Collections.synchronizedList()方法来创建线程安全的集合?有哪些注意事项?
这孩子叫逆
面试题java集合java
Collections.synchronizedList()方法用于将一个普通的List包装成线程安全的List。通过这个方法生成的List,所有的访问和修改操作都会被自动加锁,从而确保在多线程环境下对集合的并发访问是安全的。如何使用Collections.synchronizedList()创建线程安全的集合以下是使用Collections.synchronizedList()创建线程安全Lis
- 安装数据库首次应用
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 {