- 【JVM篇06】:JVM的直接内存及其与nio提升io效率的联系详解
文章目录一、什么是JVM直接内存(DirectMemory)?二、效率提升的核心:剖析NIO数据拷贝路径的本质区别场景设定:从网络读取数据到Java程序中1.传统方式:使用堆内存(`HeapByteBuffer`)2.优化方式:使用直接内存(`DirectByteBuffer`)三、直接内存的“零拷贝”到底是什么?四、总结本文将深入探讨下一个JVM关键概念——直接内存,并详细剖析它究竟是如何通过“
- Netty中ByteBuf的使用
Jooou
开发语言niojvm
ByteBuf使用ByteBuf是一个抽象的、可随机和顺序访问的零个或多个字节的序列。它为一个或多个原始字节数组(byte[])和NIO缓冲区(ByteBuffer)提供了抽象视图。与JavaNIO的ByteBuffer相比,ByteBuf具有更多优势,如扩展性、透明零拷贝、自动容量扩展和更好的性能等。创建缓冲区推荐使用Unpooled类中的辅助方法来创建新的ByteBuf实例,而不是直接调用具体
- Java NIO FileChannel在大文件传输中的性能优化实践指南
浅沫云归
后端技术栈小结javanioperformance
JavaNIOFileChannel在大文件传输中的性能优化实践指南在现代分布式系统中,海量数据的存储与传输成为常见需求。JavaNIO引入的FileChannel提供了高效的文件读写能力,尤其适合大文件传输场景。本文从原理深度解析出发,结合生产环境实战经验,系统讲解如何通过零拷贝、缓冲区优化、异步I/O等手段,最大化提升FileChannel性能。1.技术背景与应用场景传统的IO流在读写大文件时
- ZeroMQ源码深度剖析:网络机制与性能优化实战
TravisBytes
#ZMQ网络性能优化
这里写目录标题1发布订阅过滤的高效实现2ZeroMQ的核心优势3常见Socket类型及应用4异步连接实现机制5断线重连机制6高水位线(HWM)深度解析7消息丢失与错误处理8消息帧(Frame)高级特性9高效性实现原理10无锁消息队列设计11零拷贝实现位置12消息可靠性设计13负载均衡实现14PUB/SUB性能对比:ZeroMQvsRedis15简单分布式系统搭建16实战项目案例17与传统消息队列对
- 深入解读MCP:构建低延迟、高吞吐量通信中间件
LCG元
MCP中间件
目录MCP核心架构设计MCP中间件架构图协议设计与消息格式MCP协议头结构消息体编码示例核心模块实现1.高性能网络层(基于Netty)2.零拷贝内存队列3.高效路由引擎4.消息持久化模块性能优化技巧1.批量合并写操作2.CPU缓存行优化3.内存池技术可靠性保障机制消息处理流程图实现代码:消息重试机制性能基准测试压测环境配置性能测试结果生产部署方案集群拓扑图部署脚本示例总结与最佳实践性能优化矩阵部署
- 【面试题】为什么kafka的吞吐量这么高
oraen
面试系列kafka分布式
我们总结一下为什么kafka的吞吐量高核心:顺序写+零拷贝+批处理一数据模型简单+顺序读写磁盘1kafka的数据存储本质上使用的是Append-only日志模型,数据写入和读取是顺序的,不需要复杂索引或随机写,大大简化了写路径,2消息以顺序追加方式写入磁盘,避免了随机写,而且顺序写入能够更高效地配合操作系统的页缓存,进一步提升写的性能。3消息的消费也是顺序读取的,顺序读取硬盘数据再配合内存映射大大
- Kafka 核心机制面试题--自问自答
亲爱的非洲野猪
kafka分布式
基础篇Q1:Kafka为什么能这么快?A:Kafka的高性能主要来自三大核心技术:零拷贝(Zero-Copy):通过sendfile()系统调用,数据直接从磁盘到网卡,避免了内核态和用户态之间的多次拷贝页缓存(PageCache):消息直接写入操作系统页缓存而非JVM内存,减少GC影响并利用OS缓存机制内存映射(mmap):索引文件通过内存映射实现,操作内存即操作文件Q2:Kafka的存储结构是怎
- Kafka 核心原理篇:深入理解分布式消息系统的内核机制
真实的菜
kafka分布式kafkalinq
Kafka核心原理篇:深入理解分布式消息系统的内核机制文章目录Kafka核心原理篇:深入理解分布式消息系统的内核机制消息存储与持久化机制日志分段存储策略️**分段文件结构****索引机制详解**高效的磁盘读写与数据压缩算法**零拷贝技术(Zero-Copy)****数据压缩策略****页缓存优化**数据过期与清理策略⏰**基于时间的清理****基于大小的清理**️**日志压缩(LogCompact
- 从性能优化赛到社区Committer,走进赵宇捷在Apache Fory的成长之路
ApacheFory是一个基于JIT和零拷贝的高性能多语言序列化框架,实现了高效紧凑的序列化协议,提供极致的性能、压缩率和易用性。在多语言序列化框架技术领域取得了重大突破,推动序列化技术步入高性能易用新篇章!这一切,都源自全球开发者对开源的热忱。今天,一起走近这些用代码编织跨语言数据之网的Committer~一、自我介绍您的全名:赵宇捷当前职位/角色:后端开发工程师主要领域/方向:金融加入社区/项
- 复旦微ZYNQ SOC AXI_DMA高速数据传输实战指南
芯作者
D1:ZYNQ设计fpga开发
突破传统瓶颈:零拷贝+双缓冲实现2.4GB/s传输速率AXI_DMA在异构计算中的核心价值在复旦微ZYNQSOC系统中,AXI_DMA是连接PS(处理系统)和PL(可编程逻辑)的高速数据通道。本文通过创新性的零拷贝双缓冲架构,实现2.4GB/s的稳定传输速率,相比传统方案提升300%!我们将从硬件设计到软件优化,揭秘工业级DMA应用的完整开发流程。一、系统架构创新设计1.1传统DMA方案瓶颈分析方
- Kafka 的优势是什么?
Kafka作为分布式流处理平台的核心组件,其设计哲学围绕高吞吐、低延迟、高可扩展性展开,在实时数据管道和大数据生态中具有不可替代的地位。一、超高吞吐量与低延迟1.磁盘顺序I/O优化突破磁盘瓶颈:Kafka将消息持久化到磁盘(而非内存),但通过顺序写入大幅提升效率(比随机写快6000倍)。页缓存技术:利用操作系统PageCache减少磁盘访问,读写操作直接与内存交互。2.零拷贝(Zero-Copy)
- Kafka 3.0零拷贝技术全链路源码深度剖析:从发送端到日志存储的极致优化
在分布式消息系统领域,Kafka凭借高吞吐、低延迟的特性成为行业首选。而零拷贝技术作为Kafka性能优化的核心引擎,贯穿于消息从生产者发送、Broker接收存储到消费者读取的全生命周期。本文基于Kafka3.0版本,深入源码层面,对零拷贝技术在各关键环节的应用进行全景式剖析。一、零拷贝技术核心原理再审视零拷贝技术通过减少数据在内核空间与用户空间之间的冗余拷贝,降低CPU与内存资源消耗,提升I/O效
- C++中的零拷贝技术
景彡先生
C++进阶c++开发语言
一、C++中零拷贝技术的核心概念零拷贝(Zero-copy)是一种重要的优化技术,旨在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗。在C++中,零拷贝技术通过多种方式实现,包括引用语义、视图(view)类型和移动语义等。二、std::string_view简介std::string_view是C++17引入的一个轻量级非拥有型字符串视图类,它提供了对字符串数据的只读
- RDMA简介2之技术优势分析
tiantianuser
fpga开发verilog可编程逻辑RDMAxilinx
随着数据中心对于网络带宽和延迟的要求日益增长,传统的TCP/IP网络已无法满足性能要求,RDMA网络则凭借其高带宽、低延时的特性脱颖而出。相较于传统TCP/IP协议,RDMA具有零拷贝、不需要CPU接入、消息基于事务等特点。RDMA协议与传统TCP/IP协议在通信过程中的区别如图1所示。图1TCP/IP协议与RDMA协议区别图在图1中,左侧部分为传统TCP/IP协议的通信过程,当需要发送数据包时,
- Netty学习专栏(五):Netty高性能揭秘(Reactor模式与零拷贝的深度实践)
快乐肚皮
Netty从入门到精通学习服务器NettyReactor零拷贝高性能java
文章目录前言一、Reactor模式:高并发的基石1.1Reactor模式的核心思想1.2Netty的主从Reactor多线程模型核心组件与角色分工运行流程与事件处理1.3线程分配与无锁化设计1.4设计优势二、零拷贝2.1传统数据拷贝的瓶颈传统文件传输流程性能损耗点2.2操作系统零拷贝技术sendfile系统调用mmap内存映射2.3Netty的零拷贝优化CompositeByteBuf:逻辑组合代
- kafka的零拷贝技术
给我个面子中不
Java学习kafka分布式
在Kafka中,高性能数据传输依赖于操作系统提供的零拷贝(Zero-Copy)技术,主要包括sendfile和mmap两种实现方式。它们的核心目标是减少数据在用户态和内核态之间的拷贝次数,从而提升I/O效率。下面详细解析它们的流程和区别。1.传统文件传输(非零拷贝)的问题在普通文件传输(如Java的FileInputStream)中,数据需要经历多次拷贝和上下文切换:磁盘→内核缓冲区(PageCa
- Netty框架:从原理到实战,构建高性能网络应用
shangjg3
网络java后端架构
1.Netty框架核心原理1.为什么选择Netty?传统JavaNIO编程存在以下痛点:API复杂:Selector、Channel、Buffer的管理繁琐可靠性差:需要手动处理断线重连、半包粘包等问题开发门槛高:需要深入理解NIO底层原理性能调优困难:Selector空轮询、内存管理等问题而Netty提供了:简单易用的API:封装底层NIO细节,专注业务逻辑高性能:基于Reactor模式,零拷贝
- Netty 框架介绍
漫步者TZ
Nettynetty网络编程
1.Netty框架介绍Netty是一个基于JavaNIO(Non-blockingI/O)的异步事件驱动网络应用框架,旨在快速开发高性能、高可靠性的网络服务器和客户端。它简化了TCP/UDP等协议的编程,并提供了高度可定制的组件,适用于高并发场景(如游戏服务器、即时通讯、分布式系统等)。核心特性:高性能:基于事件驱动的Reactor线程模型,减少线程切换开销,支持零拷贝技术。异步非阻塞:通过Fut
- [项目深挖]仿muduo库的并发服务器的解析与优化方案
水墨不写bug
项目实践服务器运维linuxmuduoC++
标题:[项目深挖]仿muduo库的并发服务器的优化方案@水墨不写bug文章目录一、buffer模块(1)线性缓冲区+直接扩容---->环形缓冲区+定时扩容(只会扩容一次)(2)使用双缓冲(DoubleBuffering)(3)数据丢弃策略为什么视频传输选择不可靠的UDP协议?(4)零拷贝为什么零拷贝重要?零拷贝的典型场景传统数据传输的过程零拷贝的过程实现零拷贝的技术1.`sendfile`系统调用
- 共享内存进阶指南:深入学习mmap和shm*的用法与技巧
Lion 莱恩呀
Linux基础组件linux服务器c语言后端共享内存
共享内存shm*接口和mmap场景零拷贝内存映射mmapmmap()munmap()错误代码流程示例代码shm*接口shmget()shmat()shmdt()shmctl()流程总结场景当有一个超大的文件,如何能快速的读写?文件是存储在磁盘上的,要快速的读写一个大文件,可以通过共享内存的方式(mmap等)。mmap内部是使用的DMA技术,DMA是内存和磁盘之间的传输方式,有自己的指令,不需要CP
- Kafka 性能为什么比RocketMQ 高
W-vergil
MQ
一、引言在消息队列领域,Kafka和RocketMQ都是备受关注的产品。RocketMQ参考了Kafka的设计思路,在简化架构的同时丰富了功能。然而,尽管RocketMQ看起来功能强大,但Kafka始终在市场中占据重要地位且未被淘汰。其中一个关键因素便是性能,本文将深入探讨Kafka性能为何高于RocketMQ,以及背后涉及的关键技术——零拷贝技术。二、性能数据对比性能指标中的吞吐量数据显示,Ro
- 【SGL】Scatter-Gather List内存传输技术
10000hours
Linuxlist网络协议数据结构SGLlinux存储
文章目录1.WhatisSGL?2.sgl内存传输的原理2.1核心思想2.2sgl数据结构2.3摘链和挂链3.零拷贝技术3.1问题背景3.2零拷贝的核心思想及实现方式4.sgl在存储行业的应用1.WhatisSGL?sgl(Scatter-GatherList)内存传输技术,是一种高效管理非连续内存数据传输的方法。核心思想:通过一个链表或数组描述多个分散的内存块,使得硬件可以一次性完成对这些非连续
- 并发设计模式实战系列(18):反应器(Reactor)
摘星编程
设计模式并发编程设计模式并发编程
大家好,我是摘星!今天为大家带来的是并发设计模式实战系列,第十八章反应器(Reactor),废话不多说直接开始~目录一、核心原理深度拆解1.事件驱动架构2.高性能关键设计二、生活化类比:餐厅点餐系统三、Java代码实现(NIO原生版)1.完整可运行代码2.关键配置说明四、横向对比表格1.Reactor变体对比2.与传统模式对比五、高级优化技巧1.多Reactor线程组2.零拷贝优化3.内存池化技术
- 深入探讨C++日志模块设计与实现
这个懒人
c++开发语言
一、日志模块的重要性日志系统是软件开发的"黑匣子",在调试跟踪、问题定位、运行监控等方面发挥关键作用。一个优秀的日志模块应具备:精准的问题定位能力灵活的输出控制最小的性能损耗可靠的运行稳定性二、核心设计原则灵活性支持多日志等级(DEBUG/INFO/WARNING等)多种输出目标(控制台/文件/网络)动态配置能力性能优化异步日志机制缓冲技术应用零拷贝设计线程安全原子操作互斥锁策略无锁队列可扩展性插
- RDMA协议原理与零拷贝高吞吐网络通信实践
学习ing1
推荐算法
1.RDMA协议原理1.1RDMA基本概念RDMA(RemoteDirectMemoryAccess)即远程直接内存访问,是一种允许网络中的计算机直接从另一台计算机的内存中读取或写入数据的技术,而无需经过CPU的介入。RDMA的核心优势在于能够显著降低网络通信的延迟和CPU的负载,从而提高网络通信的效率和性能。在传统的网络通信中,数据传输需要经过多个步骤,包括操作系统内核的上下文切换、数据在用户空
- Java面试必备:Netty的应用场景详解
二进制11
#Java热门面试题200道java面试开发语言后端Netty
Java面试题-说一下Netty的应用场景?引言Netty是一个高性能、异步事件驱动的网络应用程序框架,主要用于快速开发可维护的高性能协议服务器和客户端。本文将详细介绍Netty的主要应用场景,并通过流程图帮助理解其工作原理。一、Netty核心特点在探讨应用场景前,我们先了解Netty的几个核心特点:异步非阻塞I/O:基于NIO实现,支持高并发连接高性能:精心优化的设计,零拷贝等技术可扩展性:模块
- Java并发编程开源项目推荐(2025版)
java
一、基础并发工具库Netty高性能异步网络框架,采用事件驱动模型与零拷贝技术,支撑百万级并发连接,广泛应用于游戏服务器与分布式通信中间件开发。HutoolJava工具库提供线程池封装、并发安全集合扩展等实用工具,简化并发代码编写(如ThreadUtil快速创建线程池)。二、分布式高并发框架ApacheDubbo企业级RPC框架支持服务异步调用与集群容错,结合线程池优化与负载均衡策略高效
- Linux 零拷贝技术:原理、实现与应用场景
奥德彪123
linux应用开发-高级技巧linux服务器运维
Linux零拷贝技术:原理、实现与应用场景在高性能网络编程、文件处理等场景中,数据拷贝的效率往往是系统性能的瓶颈。零拷贝(Zero-Copy)技术通过减少甚至消除CPU参与的数据拷贝过程,显著提升数据传输效率。本文将深入解析Linux零拷贝技术的核心原理、实现方式及典型应用场景。一、为什么需要零拷贝?1.传统I/O的数据拷贝问题传统文件读取并通过网络发送的流程如下:read()系统调用:数据从磁盘
- Kafka 的服务端的物理存储架构是什么?零拷贝,mmap,sendfile、DMA gather又是什么?
蒂法就是我
kafka架构分布式
Kafka服务端的物理存储架构Kafka的物理存储架构设计旨在支持高吞吐、低延迟的数据处理,其核心特点包括:1.分区与日志段主题(Topic)与分区(Partition):Kafka将每个主题划分为多个分区,每个分区是一个有序、不可变的消息序列。分区在物理上对应一个目录,目录名为-(如orders-0)。分区支持水平扩展,不同分区的数据可分布在不同的Broker上。日志段(LogSegment):
- WPF框架中异步、多线程、高性能、零拷贝技术的应用示例
code_shenbing
WPFwpfc#异步多线程高性能零拷贝
WPF框架中异步、多线程、高性能与零拷贝技术应用示例一、异步编程在WPF中的应用1.异步数据加载(避免UI冻结)//ViewModel中的异步数据加载示例publicclassMainViewModel:INotifyPropertyChanged{privateObservableCollection_items;publicObservableCollectionItems{get=>_ite
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s