- Redis + Caffeine 实现高效的两级缓存架构
周童學
Java缓存redis架构
Redis+Caffeine实现高效的两级缓存架构引言在现代高并发系统中,缓存是提升系统性能的关键组件之一。传统的单一缓存方案往往难以同时满足高性能和高可用性的需求。本文将介绍如何结合Redis和Caffeine构建一个高效的两级缓存系统,并通过三个版本的演进展示如何逐步优化代码结构。项目源代码:github地址、gitee地址两级缓存架构概述两级缓存通常由本地缓存(如Caffeine)和分布式缓
- # Linux学习笔记 - 4
Norvyn_7
Linux学习linux学习笔记
Linux学习笔记-4本篇将介绍Linux中root用户管理、用户与用户组操作、权限控制信息以及chmod/chown命令的使用。1.root用户(超级管理员)root用户拥有最大的系统操作权限,可执行所有操作。1.1su和exitsu命令:切换用户语法:su[-][用户名]-表示切换后加载目标用户的环境变量(建议添加)。不加用户名时默认切换到root用户。示例:su-root#切换到root用户
- OpenCV结合深度学习进行图像分类
香蕉可乐荷包蛋
#OpenCVopencv深度学习分类
文章目录1.支持的深度学习框架和模型格式2.模型加载方式加载预训练模型示例:3.图像预处理流程4.前向传播与推理5.结果解析与后处理6.性能优化技巧启用GPU加速:批量处理:代码示例在资源中有上传1.支持的深度学习框架和模型格式OpenCV的DNN模块支持多种主流深度学习框架训练的模型:TensorFlow:支持冻结图(.pb)和SavedModel格式Caffe:支持.prototxt和.caf
- 《整合Spring Cache:本地缓存、Redis与Caffeine对比实践》
整合SpringCache:本地缓存、Redis与Caffeine对比实践前言在高并发、高性能的系统设计中,缓存始终扮演着不可替代的角色。SpringCache作为Spring框架原生提供的缓存抽象层,极大简化了缓存接入的复杂度。然而,如何选择合适的缓存组件?如何支持多级缓存?如何处理缓存一致性和失效问题?这些才是“实战”真正的挑战。文章目录整合SpringCache:本地缓存、Redis与Caf
- Spring Boot集成Caffeine本地缓存完整方案
@淡 定
springboot缓存spring
SpringBoot集成Caffeine本地缓存完整方案以下是基于您项目架构的Caffeine本地缓存集成方案,包含依赖配置、缓存策略和使用示例,适配DDD架构设计。一、添加依赖在/pom.xml中添加Caffeine依赖:com.github.ben-manes.caffeinecaffeine3.1.8org.springframework.bootspring-boot-starter-ca
- Spring Boot+Redis+Caffeine 二级缓存架构的终极实现方案、包含万级QPS下的黄金配置参数、全文超过2500字(博君一赞)
夜雨hiyeyu.com
javaspringbootredis架构后端javaspringcloudspring
SpringBoot+Redis+Caffeine二级缓存架构的终极实现方案、包含万级QPS下的黄金配置参数、全文超过2500字(博君一赞)一、架构设计原理(10万QPS基石)设计优势:二、Caffeine本地缓存原子级配置1.高性能缓存构造器2.容量智能计算算法3.动态TTL策略三、Redis集群极致优化(支撑百万OPS)1.Lettuce连接池配置2.Redis服务端关键配置3.Pipelin
- 从零开始学 Linux:循序渐进的学习指南
我爱学嵌入式
Linux基础linux服务器
Linux作为一款开源、稳定且安全的操作系统,在服务器领域、嵌入式开发、云计算等场景中占据着举足轻重的地位。对于程序员、运维工程师或IT爱好者而言,掌握Linux技能已成为一项核心竞争力。但面对命令行界面和复杂的系统架构,很多初学者往往感到无从下手。本文将为你梳理一条清晰的Linux学习路径,助你从入门到精通。一、明确学习目标:为什么学Linux?学习Linux前需明确目标,不同目标对应不同的学习
- SpringBoot缓存技术全解析:Redis+Caffeine二级缓存架构
fanxbl957
Web缓存springbootredis
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。DeepSeek-行业融合之万象视界(附实战案例详解100+)全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人SpringBoot缓存技术全解析:
- 后端开发:Spring Boot 的分布式缓存方案
大厂资深架构师
SpringBoot开发实战springboot分布式缓存ai
后端开发:SpringBoot的分布式缓存方案关键词:SpringBoot、分布式缓存、Redis、Caffeine、缓存策略、缓存失效摘要:本文深入探讨了在SpringBoot后端开发中分布式缓存方案的相关技术。首先介绍了分布式缓存在现代应用中的重要性及本文的研究范围,接着阐述了核心概念如分布式缓存的原理与架构,详细讲解了常用的核心算法原理及具体操作步骤,包括使用Python代码示例说明。通过数
- WSL介绍
bigleek
树莓派pico开发linux
WSL(WindowsSubsystemforLinux)是微软为Windows系统开发的一项功能,允许用户在Windows上直接运行原生的Linux环境,而无需传统的虚拟机或双系统。它通过轻量化技术将Linux工具、命令行和应用程序无缝集成到Windows中,是开发者、运维人员和Linux学习者的高效工具。一、WSL的核心特点1.无需虚拟机:直接在Windows中运行Linux二进制文件(如Ba
- Linux+Python实战课堂:笔记、练习与应用
本文还有配套的精品资源,点击获取简介:本压缩包提供全面的Linux学习资源和Python编程练习,旨在帮助初学者和IT从业者深入理解Linux系统及其技能,并通过Python编程练习巩固相关技能。涵盖Linux基础概念、文件系统、命令行操作、文本编辑器使用、用户和组管理、软件管理、进程监控、网络配置以及系统性能监控等多个方面。同时,包含Python基础语法、函数与模块、面向对象编程、文件操作、异常
- 避免mac进入休眠状态
NextStepPeng
不要进入休眠状态:当你临时不希望电脑进入休眠状态时,可以使用caffeinate命令让电脑时刻清醒。当你需要其恢复正常时,按下⌃Control-C即可停止该命令。image.png参考:https://sspai.com/post/45534
- Libevent(3)之使用教程(2)创建事件
Once-Day
#Linux实践记录#十年代码训练开发语言Clibevent
Libevent(3)之使用教程(2)创建事件Author:OnceDayDate:2025年6月29日一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦…漫漫长路,有人对你微笑过嘛…本文档翻译于:Fastportablenon-blockingnetworkprogrammingwithLibevent全系列文章可参考专栏:十年代码训练_Once-Day的博客-C
- 【Linux学习】Ubuntu对用户进行管理
Small___ming
Linuxlinuxubuntu用户管理
目录写在前面【Linux学习】Ubuntu对用户进行管理一、为什么需要用户管理?二、用户管理基础操作(一)用户管理1.用户管理命令表格2.关键操作场景说明场景一:创建用户并配置权限场景二:修改用户属性场景三:设置密码策略场景四:锁定并删除用户3.配置文件说明4.注意事项5.其他问题(1)新创建的用户目录在哪里?(2)多硬盘服务器如何指定用户目录?方法一:创建用户时直接指定路径方法二:挂载硬盘到`/
- 【Linux学习】Linux安装并配置Redis
安装Redis在Linux系统上安装Redis可以通过包管理器或源码编译两种方式进行。以下是两种方法的详细步骤。使用包管理器安装Redis(以Ubuntu为例):sudoaptupdatesudoaptinstallredis-server通过源码编译安装Redis:wgethttps://download.redis.io/redis-stable.tar.gztar-xzvfredis-sta
- 【TensorRT】TensorRT及加速原理
浩瀚之水_csdn
tensorrt
一、TensorRT架构概览TensorRT是NVIDIA推出的高性能推理优化器,专为GPU加速设计。其核心架构分为三层:前端解析器支持ONNX/UFF/Caffe等格式的模型解析执行格式验证和初步结构优化优化引擎核心优化层(层融合、精度校准、内存优化等)生成优化后的计算图(OptimizedGraph)运行时环境管理GPU内存分配执行优化后的计算图二、核心加速原理(8大关键技术)1.层融合(La
- Redis+Caffeine双层缓存策略对比与实践指南
浅沫云归
后端技术栈小结RedisCaffeine缓存
Redis+Caffeine双层缓存策略对比与实践指南在高并发场景下,缓存是提升系统性能和并发处理能力的关键手段。常见的缓存方案包括远程缓存(如Redis)和本地缓存(如Caffeine)。单层缓存各有优劣,结合两者优势的双层缓存架构已成为生产环境中的最佳实践。本文将基于SpringBoot,从方案对比分析出发,深入探讨Redis、本地Caffeine与双层缓存的实现与性能差异,并给出选型建议与实
- spring boot + caffeine使用
月光一族吖
springbootspringjava
一、Caffeine缓存背景Caffeine是一个高性能、可扩展的Java缓存库,由Google的BenManes开发。Caffeine基于ConcurrentHashMap设计,采用了近似LRU(LeastRecentlyUsed,最近最少使用)算法,以实现高速缓存淘汰策略。Caffeine广泛应用于各类Java项目中,作为一种提高数据读取性能的优秀解决方案。二、Caffeine缓存优点与缺点优
- 两级缓存 Caffeine + Redis 架构:原理、实现与实践
大只鹅
缓存redis架构
一、前言在高性能服务架构设计里,缓存是关键环节。常规做法是将热点数据存于Redis/MemCache等远程缓存,缓存未命中时再查数据库,以此提升访问速度、降低数据库压力。随着发展,架构有了改进,部分场景下单纯远程缓存不够,需结合本地缓存(如Guavacache、Caffeine),形成本地缓存(一级缓存)+远程缓存(二级缓存)的两级缓存架构,进一步提升程序响应与服务性能,其基础访问流程如下(暂不考
- Linux学习笔记:PCIe内核篇(1):初始化与枚举流程
ZH_2025
嵌入式协议篇PCIE
根据system.map查看内核中PCIe加载流程:root@zh-vm:~#cat/boot/System.map-5.15.0-130-generic|greppci|grepinitcallffffffff8350ff68d__initcall__kmod_pci__453_6907_pci_realloc_setup_params0ffffffff83510098d__initcall__
- linux学习第五周
运维小杨
linux学习运维
目录1、总结rocky系统的启动流程,grub工作流程1.1系统启动整体流程(基于BIOS/UEFI)1.2硬件初始化阶段1.2.1BIOS(传统模式)1.2.2UEFI(新模式)1.3引导加载程序(GRUB2)阶段1.4内核加载与初始化阶段1.5用户空间初始化(systemd阶段)2、总结内核设计流派及特点。3、总结systemd服务配置文件4、总结DNS域名三级结构,DNS服务工作原理,涉及递
- Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别
MonkeyKing.sun
springredismemcached
主流缓存技术Ehcache、Caffeine、SpringCache、Redis、J2Cache、Memcached和GuavaCache的主要区别,涵盖其架构、功能、适用场景和优缺点等方面:Ehcache类型:本地缓存(JVM内存缓存)特点:轻量级,运行在JVM内部,易于集成到Java应用中。支持堆内、堆外和磁盘缓存,适合处理中小型数据集。提供丰富的缓存配置,如TTL(生存时间)、TTI(空闲时
- 《高并发系统性能优化三板斧:缓存 + 异步 + 限流》
猕员桃
10篇关于分布式和高并发性能优化缓存
高并发系统性能优化三板斧:缓存+异步+限流引言在互联网应用的高并发场景下,系统性能面临巨大挑战。以某电商平台会员活动为例,活动期间瞬时QPS可达10万+,若未进行有效优化,服务器将迅速崩溃。本文从缓存、异步、限流三个核心维度,结合实际案例详细解析高并发系统的性能优化策略,并分享全链路压测与问题定位的实战经验。一、缓存策略分层:从本地到分布式的立体防护1.1本地缓存选型与实战(Caffeine)本地
- Linux学习总结(81)—— Linux 权限详解
一杯甜酒
Linuxlinux运维Linux权限linux文件系统linux文件权限
前言我们在使用Linux的过程中,或多或少都会遇到一些关于使用者和群组的问题,比如最常见的你想要在某个路径下执行某个指令,会经常出现这个错误提示。permissiondenied。反正我大概率见到这个错误都是在使用FTP传输文件的时候,等了半天传输百分比还是零,我说网络这么慢么?怎么都不传输呢?其实我不知道,这是由于权限问题所致。我一般的修复方式是直接赋予777权限,或者直接使用su管理员登录,遇
- 2.6 Spring Boot缓存实战:Redis与Caffeine性能对比
SpringBoot缓存实战:Redis与Caffeine深度性能对比一、缓存技术选型核心指标维度Redis(分布式)Caffeine(本地)数据存储位置独立内存服务器应用进程堆内存数据一致性强一致(集群版)最终一致(需额外同步)网络开销存在TCP/IP通信无网络延迟数据容量支持TB级存储受限于JVM堆大小数据结构支持5种核心数据结构仅Key-Value结构持久化能力RDB/AOF需结合其他存储二
- 深入实践Caffeine+Redis两级缓存架构:从原理到高可用设计
搬砖的小熊猫
缓存redis架构
一、为何需要两级缓存架构?在分布式系统中,Redis作为分布式缓存已广泛应用。但当系统面临超高并发读取(如热点商品详情页访问)或超低延迟要求(如金融行情数据推送)时,纯远程缓存面临两大瓶颈:网络IO开销:每次Redis访问需10-50ms的网络延迟带宽瓶颈:单节点Redis吞吐量上限约10万QPS通过引入Caffeine本地缓存作为一级缓存,Redis作为二级缓存,可实现:命中未命中命中未命中客户
- python opencv rgb_opencv-python的RGB与BGR互转方式
weixin_39798497
pythonopencvrgb
一、格式转换opencv读取图片的默认像素排列是BGR,需要转换。PIL库是RGB格式。caffe底层的图像处理是基于opencv,其使用的颜色通道顺序与也是BGR(Blue-Green-Red),而日常图片存储时颜色通道顺序是RGB。在Python中,将RGB顺序的图像转成BGR顺序,需要调整channeldimension的各颜色通道顺序。方法1:img=cv2.imread("001.jpg
- caffe之利用mnist数据集训练好的lenet_iter_10000.caffemodel模型测试一张自己的手写体数字
xunan003
深度学习caffe
一、前沿写这篇博文,是因为一开始在做《21天学习caffe》第6天6.4练习题1的时候看着自己搜索的博文,在不理解其根本的情况下做的,结果显然是错的。在接下来阅读完源代码之后,在第10天学习完caffemodelzoo之后,明白了其中原理,反过来再去做那个习题,一开始在网上搜索并没有完完整整解释整个过程的一篇博文,而是写的不知所云,本着我们初学者互相共享的精神,也方便自己查阅,特详细写一下,将自己
- caffe安装:基于anaconda3---python3.6, linux, 仅CPU
喵酱ooo
目标检测caffeanaconda3python3.6linuxCPU
caffe安装:基于anaconda3---python3.6,linux,仅CPUcaffe安装安装Anaconda3下载caffe配置caffe的Makefile.config安装libboost(基于python3.6)的库编译caffecaffe安装安装Anaconda3下载:Anaconda3-5.0.1-Linux-x86_64.sh默认路径安装(最终安装位置为/home/usenam
- ubuntu 编译caffe makefile.config
AI算法网奇
win/ubuntu
这个是我以前总结的:sudoapt-getinstall-ylibopencv-devpython-opencvsudoapt-getinstall-ybuild-essentialcmakegitpkg-configsudoapt-getinstall-ylibatlas-base-devsudoapt-getinstall-ylibgflags-devlibgoogle-glog-devlib
- 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