- PagedAttention和Continuous Batching
流浪大人
大模型深度学习人工智能机器学习
PagedAttention是什么PagedAttention是一种用于优化Transformer架构中注意力机制的技术,主要用于提高大语言模型在推理阶段的效率,特别是在处理长序列数据时能有效减少内存碎片和提高内存利用率。它借鉴了操作系统中虚拟内存分页机制的思想。工作原理传统注意力机制的局限性:传统的注意力机制在处理长序列时,需要为每个位置计算注意力得分并存储中间结果,这会导致内存占用随着序列长度
- Java空闲列表:高效管理内存碎片的秘密
代码的余温
java开发语言jvm
Java空闲列表(FreeList)是JVM在堆内存分配中用于管理非连续内存碎片的核心机制。它的核心作用是为对象分配寻找可用内存空间,尤其适用于内存不规整的场景(如老年代内存碎片化时)。以下是其工作原理和关键细节:一、核心原理数据结构JVM维护一个链表结构(空闲链表),每个节点记录一块空闲内存的起始地址和大小。示例:0x1000~0x2000(4KB)→0x3000~0x4000(4KB)→...
- Linux内存管理和寻址详解
*烟雨
linux驱动开发网络
1.概念内存管理模式段式:内存分为了多段,每段都是连续的内存,不同的段对应不用的用途。每个段的大小都不是统一的,会导致内存碎片和内存交换效率低的问题。页式:内存划分为多个内存页进行管理,如在Linux系统中,每一页的大小为4KB。由于分了页后,就不会产生细小的内存碎片。但是仍然也存在内存碎片问题。段页式:段式和页式结合。地址类型划分逻辑地址:程序所使用的地址,通常是没被段式内存管理映射的地址,称为
- Redis常见性能问题及解决方案:实战应用指南
Redis作为高性能的内存数据库,在缓存、消息队列、实时统计等场景中被广泛应用。然而,在实际生产环境中,Redis的性能问题可能成为系统的瓶颈。本文结合实战经验,总结7大常见性能问题及其解决方案,并提供实际案例,帮助开发者快速定位并优化性能。1.内存问题:内存不足与碎片化问题表现:Redis内存达到上限,触发OOM(OutOfMemory)错误,导致写操作失败。内存碎片率过高(通过INFOmemo
- 简说 MISRA-C++
is0815
c++
MISRA-C++是嵌入式系统中广泛采用的C++编码规范,旨在提高代码安全性、可靠性和可维护性。以下是MISRA-C++的详细要求,涵盖核心规则分类、禁用特性及最佳实践:一、核心规则分类1.语言使用限制禁用动态内存分配(new/delete、std::malloc)风险:内存碎片、分配失败导致运行时崩溃替代:静态数组、对象池或定制内存分配器禁用异常处理(try/catch/throw)风险:异常展
- 鸿蒙OH南向开发 轻量系统内核(LiteOS-M)【内存管理】
yx525623
鸿蒙开发openharmony鸿蒙南向鸿蒙开发harmonyosopenharmony鸿蒙南向嵌入式硬件
基本概念内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。OpenHarmonyLiteOS-M的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。动态内存:在动态内存池中分配
- 网络模块尺寸多样导致的内存碎片
weixin_42319617
深度学习
在给网络换了编码器之后,出现了显存不足的报错,于是出现了两个问题,一个是为什么服务器上有5G的显存不可用,由于除了数据集之外,配置和模型相同的另一个设备上还有接近一半的占用,而这里显然高出了几G,所以先不解决这个问题,而是改模型的尺寸,如何调整使其符合当前的显存,由于编码之后使用3*3的卷积进行了通道的调整,想着改成1*1的显存会下降,因为从参数量计算上看后者的结果更小,但事实上相反,由于后者对应
- CUDA out of memory内存碎片解决方法
weixin_42319617
深度学习
RuntimeError:CUDAoutofmemory.Triedtoallocate704.00MiB(GPU0;16.00GiBtotalcapacity;13.55GiBalreadyallocated;0bytesfree;14.89GiBreservedintotalbyPyTorch)Ifreservedmemoryis>>allocatedmemorytrysettingmax_s
- 如何理解虚拟内存
源
虚拟内存linux
为什么不直接使用物理内存虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。现代所有用于一般应用的操作系统都对普通的应用程序使用虚拟内存技术,老一些的操作系统,如DOS和1980年代的Windows,或者那些1960年代的大型机,一般都没有虚拟
- malloc 是如何分配内存的?——C 语言内存分配详解
编程小能手@
c语言网络服务器malloc
文章目录malloc是如何分配内存的?——C语言内存分配详解一、引言二、内存分配的基本概念1.虚拟内存与物理内存2.进程内存布局三、malloc函数详解1.函数原型与功能2.关键特性四、malloc的底层实现机制1.内存分配器的角色2.分配策略3.内存碎片问题五、glibc中的malloc实现(ptmalloc2)1.内存池结构2.分配流程3.空闲块管理4.性能优化六、malloc的常见问题与解决
- TLSF 内存分配器
Jay_515
TLSF内存管理嵌入式源码学习
TLSF(Two-LevelSegregatedFit)是一个O(1)时间复杂度的动态内存分配器,特别适合实时系统。本文将深入分析TLSF的实现原理和源码细节。1.基本概念1.1关键特性O(1)时间复杂度的内存分配和释放低内存碎片化确定性行为,适合实时系统支持多内存池管理最小内存对齐支持1.2核心数据结构块头(BlockHeader)typedefstructblock_header_t{stru
- 引发new/malloc动态申请内存失败的常见原因分析与总结
dvlinker
C/C++实战专栏动态申请内存newmalloc内存不足抛出异常堆内存被破坏内存碎片
目录1、概述2、调用哪些接口去动态申请内存?3、malloc和new申请内存失败说明3.1、malloc申请内存失败,返回NULL3.2、new申请内存失败,抛出异常4、动态申请内存失败的可能原因分析4.1、申请的内存过大,进程中没有这么大连续的内存可用了4.2、程序占用的用户态虚拟内存已经接近上限,申请不到可用的内存了4.3、进程中的内存碎片过多4.4、发生堆内存越界,导致堆内存被破坏,导致ne
- 【NoSQL数据库】Redis Cluster集群(含redis集群扩容脚本)
划过手的泪滴t
Redis云计算运维Shell语言学堂redis数据库缓存nosql云计算
RedisCluster集群RedisClusterRedis分布式扩展之RedisCluster方案功能数据如何进行存储redis集群架构集群伸缩向集群中添加一个新的master节点,并向其中存储num=10.脚本对redis集群扩容缩容,脚本参数为redis集群,固定从6001移动2000个哈希槽到新实例上故障转移集群总线Redis性能管理查看Redis内存使用内存碎片率内存使用率内存回收ke
- 【C语言练习】073. 编写代码实现简单的内存池
视睿
从零开始学习机器人c语言数据结构算法排序算法机器人
073.编写代码实现简单的内存池073.编写代码实现简单的内存池C语言内存池的作用减少内存碎片提高分配速度适用于特定场景简化内存管理避免内存泄漏总结1.内存池的实现2.代码说明3.示例运行输入:输出:4.注意事项5.总结073.编写代码实现简单的内存池内存池(MemoryPool)是一种高效的内存管理技术,用于预先分配一块较大的内存区域,并从中分配和回收小块内存。内存池可以显著减少动态内存分配的开
- linux kernel slab分配器
小白笑苍
Linuxslablinuxkernel
slab分配器是一种高效的内存管理机制,主要用于小块内存的分配和释放。slab分配器简述slab分配器是一种内存管理机制,它将内存分割成多个"缓存"(cache),每个缓存包含固定大小的对象。这些对象可以是内核数据结构、缓冲区或其他小块内存。slab分配器用途高效内存分配:为频繁使用的内核对象提供快速的内存分配和释放。减少内存碎片:通过预分配固定大小的对象,减少内存碎片。提高缓存效率:通过保持对象
- 内存安全设计方案
DataLu
类设计分析Debezium安全java开发语言数据库debezium数据变更数据迁移
内存安全设计方案1.内存问题分析1.1常见内存问题内存泄漏:单例对象持有过多引用缓存未及时清理线程池资源未释放内存溢出:大对象频繁创建队列积压并发处理不当GC频繁:对象创建过多内存碎片化大对象分配1.2问题场景
- Java GC机制
java
GC基本原理可达性分析算法Java通过根可达性分析判断对象存活状态。从GCRoots(如虚拟机栈引用的对象、静态变量、JNI引用等)出发,遍历对象引用链,未被引用的对象标记为可回收。优势:解决循环引用问题,避免内存泄漏。垃圾回收算法标记-清除(Mark-Sweep):标记存活对象后清除未标记对象,但会产生内存碎片。复制算法:将内存分为Eden和Survivor区,存活对象复制到另一区域,适合新生代
- [C++项目]高并发内存池性能测试
single594
c++
项目概述本测试报告针对自主开发的高并发内存池进行全面测试,主要测试内容包括:内存分配/释放性能多线程并发安全性内存碎片化程度内存泄漏检测极限压力测试测试环境操作系统:Ubuntu20.04LTSCPU:IntelCorei7-9700K(8核16线程)内存:32GBDDR4编译器:GCC9.3.0编译选项:-O2-std=c++17测试代码事例##3.测试代码示例```cpp#include#in
- 内核如何管理内存碎片?
企鹅侠客
聊聊运维面试linuxlinuxkernel内核内存碎片
内核管理内存碎片的过程涉及多个机制和策略,以确保物理内存能够高效利用,并减少内存碎片对系统性能的影响。内存碎片可以分为两种类型:外部碎片和内部碎片。外部碎片是指系统中存在大量未使用的内存块,但这些内存块不连续,无法分配给需要大块内存的进程。内部碎片是指分配的内存块大于实际使用的内存,导致分配的内存中有部分未被使用。内核管理内存碎片的机制伙伴系统(BuddySystem):Linux内核主要使用伙伴
- 深入浅出iOS性能优化:打造极致用户体验的实战指南
画个大饼
iOS性能优化ios性能优化objective-cswift
前言在当今移动应用竞争激烈的时代,性能优化已经成为iOS开发中不可或缺的重要环节。一个性能优秀的应用不仅能给用户带来流畅的使用体验,还能减少设备资源消耗,延长电池寿命,提高用户留存率。本文将深入探讨iOS性能优化的各个方面,从内存管理到UI渲染,从网络请求到启动优化,全方位帮助开发者打造高性能的iOS应用。本文重点说明:本文主要关注代码级别的性能优化,包括但不限于:内存管理优化(内存泄漏、内存碎片
- 内存池(C++)
強云
C++c++
内存池一、内存池的基本概念二、内存池的设计模式三、内存池的应用场景四、内存池的实现方式1.简单的内存池实现2.STL风格的内存池与自定义分配器五、内存池的优化技巧六、总结C++内存池(MemoryPool)是用于管理内存分配和释放的技术,它通过提前分配一大块内存并按需分配小块内存来提高性能,减少频繁的内存分配和释放操作。内存池有助于减少内存碎片,优化内存使用,并提高程序在高性能场景下的运行效率。一
- Netty之内存池的原理和实战
HaSaKing_721
Nettyjavanetty
深入理解Netty的内存池机制及其应用实践在高性能网络编程中,内存管理对于系统的稳定性和性能至关重要。Netty作为一个高效的网络通信框架,通过引入内存池机制有效地解决了内存分配和回收频繁带来的性能瓶颈和内存碎片问题。本文将深入探讨Netty内存池的原理,并结合实际应用进行分析。一、内存池的必要性在高并发的网络应用中,频繁的内存分配和回收会导致性能问题,如内存碎片、GC压力大等。为了提高内存利用率
- 高效编程:我们应该了解哪些编译器优化技术?如何做出成熟的优化行为,掌握C++编程中的编译器优化艺术。
泡沫o0
C/C++性能优化c++c语言gccqtlinuxarm嵌入式
目录标题1.引言:编译器优化在C++编程中的重要性1.1为什么关注编译器优化1.2平衡优化与代码可维护性2.编译器优化的基本理论2.1数据局部性原理空间局部性时间局部性优化示例2.2循环优化策略循环展开循环不变代码外提循环分块2.3算法效率时间复杂度和空间复杂度算法选择算法优化2.4内存管理优化内存分配与回收内存访问模式内存碎片化问题3.值得学习的编译器优化技术3.1提高缓存效率理解数据局部性缓存
- C/C++ 堆Stack算法详解及源码
猿来如此yyy
C/C++算法详解及源码c++算法c语言
堆Stack算法是一种常用的内存管理算法,用于动态分配和释放内存。它的优点是可以灵活地管理内存,减少内存碎片。堆Stack算法的主要思想是通过堆和栈两个数据结构来管理内存。在堆Stack算法中,堆用于动态分配内存。堆是一个由连续的内存块组成的数据结构,可以动态增长或缩小。通过调用malloc函数分配内存,并使用free函数释放内存。栈用于管理堆中分配的内存。栈是一种后进先出(LIFO)的数据结构,
- 单次 CMS Old GC 耗时长问题分析与优化
张彦峰ZYF
JVM相关知识总结jvmZYFJVM知识储备分享
目录一、现象说明二、CMSGC机制简述三、可能导致长时间停顿的原因详细分析(一)FullGC(完全垃圾回收)1.主要原因2.参数调整(二)PromotionFailure(晋升失败)1.主要原因2.参数调整(三)内存碎片化问题1.主要原因2.参数调整(四)并发标记和清理阶段的问题1.主要原因2.参数调整(五)GC并行度不足1.主要原因2.参数调整四、优化思路与方案(一)增加OldGeneratio
- C++项目——高并发内存池
hu_143
C++项目c++
一、什么是内存池内存池(MemoryPool)是一种动态内存分配与管理技术。通常情况下,程序员习惯直接使用new、delete、malloc、free等API申请分配和释放内存,这样导致的后果是:当程序长时间运行时,由于所申请内存块的大小不定,频繁使用时会造成大量的内存碎片从而降低程序和操作系统的性能。内存池则是在真正使用内存之前,先申请分配一大块内存(内存池)留作备用,当程序员申请内存时,从池中
- Redis高级特性:深入剖析内存管理
小健学 Java
哈希算法算法redis数据库缓存分布式
Redis作为高性能的内存数据库,其内存管理机制决定了性能表现和资源利用率。本文将深入解析Redis的内存管理,包括内存模型、对象内存、缓冲内存、内存碎片、内存回收机制、内存优化及参数优化。1.Redis内存模型与对象内存Redis的内存模型是其高性能运行的基础,它主要由以下几个部分组成:1.1数据存储Redis的核心功能是将数据存储在内存中,以支持高效读写操作。不同的数据类型采用不同的数据结构进
- Java核心基础十:JVM垃圾回收机制(GC)
HongXuan-Yuan
Java开发javajvm开发语言
一、垃圾回收(GC)核心算法1.标记-清除(Mark-Sweep)步骤:标记:从GCRoots(如活动线程、静态变量等)出发,标记所有可达对象。清除:遍历堆内存,回收未被标记的对象内存。优点:实现简单,无需移动对象。缺点:内存碎片:回收后内存不连续,大对象分配困难。效率问题:两次遍历(标记+清除)耗时较长。应用场景:CMS收集器的老年代回收阶段。2.复制(Copying)步骤:将内存分为两块(Fr
- 第十三章:优化内存管理_《C++性能优化指南》_notes
郭涤生
性能优化c/c++c++性能优化笔记
优化内存管理一、内存管理基础概念二、自定义分配器三、智能指针优化重点知识代码示例:智能指针性能对比四、性能优化关键点总结多选题设计题答案与详解多选题答案设计题示例答案(第1题)一、内存管理基础概念重点知识动态内存分配开销new和delete涉及系统调用,频繁操作会导致性能瓶颈内存碎片化会降低内存利用率自定义内存管理预分配内存块(内存池)类专属内存管理器自定义分配器代码示例:类专属内存管理器#inc
- JVM中的垃圾回收算法
Fanxt_Ja
Java面试JVMjvm算法java
在Java虚拟机(JVM)中,垃圾回收(GarbageCollection,GC)是自动内存管理的核心机制,负责回收不再使用的对象以释放内存。以下是几种垃圾回收器的原理及优缺点:1.标记清除法:原理:对堆内存中各个存活对象进行标记,然后清除未被标记的对象。缺点:1.因为垃圾并不一定存在于连续的内存空间,所以会导致内存碎片化;2.效率较低:需要两次遍历内存(标记+清除)使用场景:老年代2.复制清除法
- tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
- 网站架构发展的过程
ayaoxinchao
数据库应用服务器网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
- [信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
- 使用maven tomcat plugin插件debug关联源代码
商人shang
mavendebug查看源码tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
- 大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
- cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
- mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
- CSS的class、id、css文件名的常用命名规则
agevs
JavaScriptUI框架Ajaxcss
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
- 全局数据源
AILIKES
javatomcatmysqljdbcJNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
- MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
- JAVA的getBytes()方法
bijian1013
javaeclipseunixOS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
- AngularJS中操作Cookies
bijian1013
JavaScriptAngularJSCookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
- [Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
- 【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
- linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
- unity中运用Resources.Load的方法?
brotherlamp
unity视频unity资料unity自学unityunity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
- 线段树-入门
bylijinnan
java算法线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
- 全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
- vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
- Sublime Text 快捷键
daizj
快捷键sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
- php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
- SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
- 对软件设计的思考
e200702084
设计模式数据结构算法ssh活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
- 同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
- Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22
[email protected]
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
- Hibernate中的缓存
Josh_Persistence
一级缓存Hiberante缓存查询缓存二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
- 对象关系行为模式之延迟加载
home198979
PHP架构延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
- xml 验证
pengfeicao521
xmlxml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
- div设置半透明效果
spjich
css半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
- 你真的了解单例模式么?
w574240966
java单例设计模式jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla