- linux kernel 内存踩踏之KASAN_SW_TAGS(二)
无人知晓万事万物
Linux调试技术linux内存踩踏linuxkernel
一、背景linuxkernel内存踩踏之KASAN(一)_kasan版本跟hasan版本区别-CSDN博客上一篇简单介绍了标准版本的KASAN使用方法和实现,这里将介绍KASAN_SW_TAGS和KASAN_HW_TAGS的使用和背后基本原理,下图是三种方式的对比:OverheadtypeMTEKASAN_SW_TAG(kernel)/HWASan(userspace)KASAN(kernel)/
- ARM PAC/BTI/MTE三剑客精讲与实战
安全二次方
博客目录导读ARM安全架构PAC指针认证BTI分支目标识别MTE内存标记扩展
一、PAC指针认证精讲与实战思考1、什么是栈溢出攻击?什么是代码重用攻击?区别与联系?2、栈溢出攻击的软&硬件缓解技术有哪些?在TF-A&OPTEE上的应用?3、什么是ROP攻击?对ROP攻击的缓解技术?4、PAC下的ROP如何缓解?对返回地址的签名与验证?5、PAC的架构细节?硬件原理?PAC如何生成?如何检查?指令集?6、PAC如何启用?构建PAC的编译选项控制?7、PAC功能如何验证?PAC
- (转载) 支撑微博千亿调用的轻量级RPC框架:Motan
hongtoushiziyuan
rpcrpcmotan
转载:http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=403874424&idx=1&sn=22d5f15814c297c623ffd2cac4e797ba&scene=21#wechat_redirect编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文由张雷在高可用架构群分享。转载请注明来自高可用架构公众号「ArchNote
- linux kernel 内存踩踏之KASAN(一)
无人知晓万事万物
Linux调试技术linuxkernel内存踩踏kasan
一、背景linux内核出现内存类问题时,我们常用的调试工具就是kasan,kasan有三种模式:1.GenericKASAN(这个就是我们最常用的,1debugbyteindicate8bytesusestate,对标用户层asan)2.SoftwareTag-BasedKASAN(这个可以对标用户层hwasan,仅64位生效)3.HardwareTag-BasedKASAN(大名鼎鼎的MTE,也
- MTE内存扩展精讲与实战
代码改变世界ctw
学习方法MTKARMV9ARMV8ARMPACBTI安全
思考1、常见的内存安全问题有哪些?举例说明?2、内存安全的软件缓解技术有哪些?在optee上的应用?3、MTE下的内存安全性如何保证?空间安全性?时间安全性?4、MTE的架构细节?硬件原理?TAG存在哪?TAG哪些地址?5、MTE在SOC上的硬件部署?缓存一致性和总线互联考虑?6、MTE功能如何验证?TAG比较失败时发生什么?问题如何定位?7、MTE性能开销?同步模式?异步模式?如何进行优化?8、
- 怎么开启基于软件标签的kasan, CONFIG_KASAN_SW_TAGS=y
RJ436
#kasanarm开发linux
如果内核版本等于或大于5.0,那么需要在通用KASAN和基于软件标签的KASAN之间做出选择,前者的配置宏是CONFIG_KASAN_GENERIC,后者的配置宏是CONFIG_KASAN_SW_TAGS。menuconfig无法勾选CONFIG_KASAN_SW_TAGS=yCONFIG_KASAN_SW_TAGS依赖CC_HAS_KASAN_SW_TAGSCC_HAS_KASAN_SW_TAG
- 内核地址消毒剂(KASAN)
RJ436
内存#kasanjavalinux前端
概述KernelAddressSANitizer(KASAN)是一种动态内存安全错误检测工具,主要功能是检查内存越界访问和使用已释放内存的问题。KASAN有三种模式:通用KASAN基于软件标签的KASAN基于硬件标签的KASAN用CONFIG_KASAN_GENERIC启用的通用KASAN,是用于调试的模式,类似于用户空间的ASan。这种模式在许多CPU架构上都被支持,但它有明显的性能和内存开销。
- HWAsan机制
repinkply
MTEASAN&HWASANKAsanHWAsan
目录概述原理使用验证开启对比asan参考链接概述hwasan是HardwareAddressSanitizer的简称,它是clangllvm提供的一套内存错误检测系统,可以用来检测C/C++代码常见的内存错误Stackandheapbufferoverflow/underflowGlobalbufferoverflow/underflowHeapuseafterfreeStackuseoutsid
- iOS视图切换bringSubviewToFront:和sendSubviewToBack:
煮酒Shae
IOS
文章目录简介实战简介将一个UIView显示在最前面只需要调用其父视图的bringSubviewToFront()方法。将一个UIView层推送到背后只需要调用其父视图的sendSubviewToBack()方法。如:[AbringSubviewToFront:B];B视图在A视图上面[AsendSubviewToBack:B];B视图在A视图下面实战[self.viewaddSubview:mte
- ARM64安全特性之MTE
车联网安全杂货铺
系统安全arm开发车载系统系统安全安全iot
ARM64架构引入了MTE(MemoryTaggingExtension)作为安全特性,用于增强内存访问的安全性。MTE使用内存标签来追踪和保护内存操作,以帮助检测和防御缓冲区溢出、使用-after-free等内存相关的安全漏洞。MTE的核心思想是给每个内存地址附加额外的标签信息,这些标签旨在标识内存的使用情况。ARM64MTE特性的主要组成部分包括:1.内存标签MTE使用一个n位标签(通常为4位
- 通过内存标记扩展(MTE)提供增强的安全性
安全二次方security²
MTE内存标记扩展越界访问useafterfreeMemoryTagARMUAF
目录一、内存安全BUG导致的安全漏洞二、检测和修复内存安全漏洞的难点三、MTE如何应对这一挑战
- CentOS7启动/关闭Java程序
RenDuData
javajava
1.启动#以服务方式在后台运行,退出命令窗口不关闭nohupjava-jarXXX.jar>jarRun.log2>&1直接运行,退出窗口登录将关闭,(一般不这么用)java-jarXXX.jar2.不带日志启动nohupjava-jartest-jar-1.0.0.jar>/dev/null2>&1&3.配置内存且不带日志启动nohupjava-jar-Xms6144m-Xmx6144mte
- Linux内存异常检测工具—kfence
吴丹_89fc
一、功能介绍Linux5.13内核新增一种内存异常检测工具——kfence(KernelElectric-Fence),它是基于采样的低开销内存检测工具,这里所谓的采样就是提供少量的内存陷阱,来抓取非法内存访问。对比kasan:败在属于概率检测,不是所有的异常访问都能抓取。胜在对系统的开销很小,可以直接在生产环境中使用。二、使用说明1.开启kfence内核功能宏HAVE_ARCH_KFENCEKF
- Android NDK开发详解之调试和性能分析的调试项目
五一编程
学习交流androidjavakotlinc++数据结构
AndroidNDK开发详解之调试和性能分析的调试项目调试原生代码崩溃让应用能够直接访问Tombstone轨迹调试原生内存问题AddressSanitizer(HWASan/ASan)Malloc调试Malloc钩子Malloc统计信息性能剖析调试原生代码崩溃如果您在试图了解原生代码崩溃转储或Tombstone,不妨阅读调试Android平台原生代码一文。如需详细了解常见崩溃类型的更完整目录以及如
- Google Sanitizers
vincent&lin
llvm
Google的sanitizers一共有5种:AddressSanitizer(检查寻址问题):包含LeakSanitizer(检查内存泄漏问题)ThreadSanitizer:检查数据竞争和死锁问题(支持C++和Go)MemorySanitizer:检查使用未初始化的内存问题HWASAN(Hardware-assistedAddressSanitizer):AddressSanitizer的变种
- KASan介绍
repinkply
#KAsanASAN&HWASANKASAN
目录概括介绍配置说明单独关闭读或写检查操作使用影响及注意事项结果解读使用注意实现原理简介KASAN原理malloc原理内容参考概括介绍KernelAddressSANitizer(KASAN)是一个动态内存错误检测器。它提供了一个快速而全面的解决方案,用于查找释放后使用(use-after-free)和越界等错误。KASAN使用编译插桩来检查每次内存访问,因此您需要GCC版本4.9.2或更高版本。
- OPTEE之KASAN地址消毒动态代码分析
安全二次方security²
动态代码分析OPTEEKASANASAN地址消毒动态代码分析
安全之安全(security²)博客目录导读目录一、KASAN简介二、OPTEE_OS中KASAN配置选项三、OPTEE_OS中KASAN配置选项打开一、KASAN简介内核地址消毒器(KASAN)是Linux内核的快速内存损坏检测器,KASAN检测slab、page_alloc、vmalloc、stack和全局内存中的越界、use-after-free和invalidate-free错误。详细信息
- ATF(TF-A)/OPTEE之动态代码分析汇总
安全二次方security²
动态代码分析ATFTF-AOPTEE动态代码分析UBSANKASAN地址消毒
安全之安全(security²)博客目录导读1、ASAN(AddressSanitizer)地址消毒动态代码分析2、ATF(TF-A)之UBSAN动态代码分析3、OPTEE之KASAN地址消毒动态代码分析
- 2020-03-23 idea2020 激活码 webstorm2020 激活码.GOland激活码,又一个
去年的牛肉
最新激活码L0TSOFA5Z8-eyJsaWNlbnNlSWQiOiJMMFRTT0ZBNVo4IiwibGljZW5zZWVOYW1lIjoi5rC45LmF5r+A5rS7IiwiYXNzaWduZWVOYW1lIjoibG9va2RpdiAuY29tIiwiYXNzaWduZWVFbWFpbCI6ImhvdTk5MTE2ODc5NUAxNjMuY29tIiwibGljZW5zZVJlc3Ry
- shell jq 迭代处理json数组
可克
jsonlinux运维
cat../2.json|jq'map("curl-o"+.id+".jpg"+.avatar)|.[]'2.json内容;[{"id":"281","avatar":"https://nim-nosdn.netease.im/MTEyNzU4MDQ=/bmltYV8xMjg0MTE3MTkyN18xNjA4MTI1MjM4MjQ1X2U5ZTYzMjVjLTViZGItNGNmMC1hOTAzL
- 2023 极术通讯-第三代通用计算大算力芯片“弯道超车”的机遇分析
极术社区
极术通讯人工智能
导读:极术社区与E-learning平台联合推出极术通讯,引入行业媒体和技术社区、咨询机构优质内容,定期分享产业技术趋势与市场应用热点。芯方向Armv9-A:如何利用MTE和FF-A功能创建最先进的TEEArmv9-A于2021年3月推出,它最重要的两个功能是其内存标记扩展[MTE]和构建Cortex-A固件框架[FF-a]的安全管理程序。这是因为这两个功能都构成了我们Kinibi600操作系统[
- Armv9-A:如何利用MTE和FF-A功能创建最先进的TEE
安全二次方security²
ARM安全架构ARM安全架构TEEARMV9MTEFFA
安全之安全(security²)博客目录导读目录一、什么是MTE?二、Trustonic如何在Kinibi600中使用MTE?三、什么是FF-A?四、FF-A如何在Kinibi600中工作?五、总结说明:本文为转载文章,来自TrustonicArmv9-A于2021年3月推出,代表了ARM对未来十年未来3000亿芯片计算平台的愿景。上一次我们讨论了Armv9-A中添加的一些关键扩展,如无特权访问[
- 安全之安全(security²)博客目录导读
安全二次方security²
博客目录导读ARM/RISC-V安全架构TF-A/TEE安全GP认证静态代码分析FUZZ模糊测试IDA逆向分析安全与功耗
研究方向:安全之安全研究内容:ARM/RISC-V安全架构、TF-A/TEE之安全、GP安全认证、静态代码分析、FUZZ模糊测试、IDA逆向分析、安全与功耗等,欢迎您的关注一、ARM安全架构1、Trustzone安全研究综述文章推荐2、Trustzone常见漏洞及攻击分类3、ARM安全架构及其发展趋势(转载)4、ARMv9及其关键特性介绍(转载)5、Armv9-A:如何利用MTE和FF-A功能创建
- android 如何分析应用的内存(十一)——ASan
安仔都有人用
android内存分析ASanASan使用ASan编译ASan解析ASan例子
android如何分析应用的内存(十一)接下来是,heap的第五大板块——ASan(AddressSanitizer)和HWASan(HardwareAddressSanitizer)。可以将其称为:地址清理器与其说是Heap板块,不如说是debug板块。ASan是一个集成在编译器中的工具,因此只需要在编译的时候设置好Flag即可。而HWASan则可以认为是ASan的plus版本。HWASan比A
- android 如何分析应用的内存(十二)——HWASan
安仔都有人用
android内存分析hwasanaosp编译pixel3编译源码hwasan使用hwasan解析
android如何分析应用的内存(十二)上一篇介绍了ASan,这次介绍ASan的加强版HWASanHWASan的使用从NDKr21和Android10开始,Android支持HWAsan。HWAsan仅仅支持arm64架构的设备。系统级准备HWASan需要系统的支持,因此,需要重新编译系统镜像。可以是android模拟器,也可以是真机。本次实验,选择了Pixel3的真机作为演示。同时使用了andr
- 户外活动小心得
仙岛小雨
你好啊,我是小雨。今天我想和你聊聊团体户外活动中获得的一些小心得。图片发自App上周六早上我们迎来了本学年读行俱乐部的第一次户外团体活动,那对我而言除了开心之外,更多的是对团体户外活动的一次全身心的体会认识。图片发自App1、自我介绍的改变过去我介绍自己一直都是运用MTE的介绍方法。我是谁?我的价值。我能为你带来什么好处?那这次活动我发现一些别的小伙伴在介绍自己时都会加上一句自己的喜欢的话、或者是
- ASAN原理-2
wmzjzwlzs
linuxappandroid
转自:[芦半山]Androidnative分析工具ASAN和HWASAN原理解析_mb60ffdbe016b5d的技术博客_51CTO博客ASAN和HWASAN原理解析由于虚拟机的存在,Android应用开发者们通常不用考虑内存访问相关的错误。而一旦我们深入到Native世界中,原本面容和善的内存便开始凶恶起来。这时,由于程序员写法不规范、逻辑疏漏而导致的内存错误会统统跳到我们面前,对我们嘲讽一番
- 微信公众号
小木猿
微信前端服务器
提前下载好fiddler抓包软件遇到的问题:重定向地址隔段时间自动刷新#GEThttps://mp.weixin.qq.com/mp/profile_ext?action=report&uin=MTE3NDQ3ODQ3Nw==&key=5754df8c22b8427b785e228ead9301326636f479e683f0ebafea80636fb34d55201e4c77377ba9828a
- 内存安全:Arm 内存标记扩展如何应对业内安全挑战
CSDN云计算
安全
作者:Arm终端事业部安全和隐私战略总监卢旻盛计算的未来将由我们日常生活各个方面的日益数字化所驱动,这也将导致软件和系统复杂性的不断增加。据相关数据报告称,2022年报告的漏洞数量超过23,000个(其中超过17,000个被归类为严重漏洞),连续六年创下新高。利用构建于最新Armv9架构的ArmCPU,我们可提供内存标记扩展(MemoryTaggingExtension,MTE)等安全功能,以降低
- android 如何分析应用的内存(六)
安仔都有人用
android内存分析androidmallocandroidfreeandroidnewandroiddelete自定义malloc
android如何分析应用的内存(六)接上文,本系列文章,最重要的部分——————对native堆内存的分析,即将上演分成六大板块:手动实现,new和delete,以及malloc和freee,并统计内存分配情况使用mallochook使用Malloc和libc回调,搭配使用DDMS使用AddressSanitizer使用HWASan/Asan工具,查找内存错误使用perfetto工具,他也可以分
- 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