- Android逆向抓包技巧-不走系统代理
象野VH
Android逆向基础爬虫
前言不走代理,即NoProxy抓包问题,这种情况是在使用代理之后抓包工具并未捕获到数据,而且无论是开启还是关闭抓包工具,都不影响App正常的数据加载。因为Android系统设置的代理并不是强制对所有App生效,App可以在网络请求类库中通过自定义代理设置,选择是否要走系统代理。举例:在安卓开发中,OkHttp发送请求时,设置Proxy.NO_PROXY,让手机不走系统代理,此时基于系统代理抓不到包
- Android逆向及渗透测试相关技术总结
ghost9527
本文主要介绍使用一些工具对apk进行逆向获取部分源代码,并通过frida对函数进行Hook并修改其值;使用Burpsuite对app请求进行抓包并进行渗透测试,本文仅供交流学习。1、逆向先查看apk是否进行加壳,若加壳则需要使用脱壳工具进行脱壳,脱壳后拿到dex文件使用反编译工具对dex文件进行反编译获取源码进行分析。1.1壳分类加壳技术特点脱壳难度描述第一代:dex整体加密型壳采用dex整体加密
- 移动端安卓app渗透测试逆向工具集分享(1)
2401_86855609
渗透测试逆向安卓逆向安全
给大家分享一些我自己收藏的移动端安卓app逆向工具包,下面是目录activty劫持工具adb1.0.32CTF工具合集hackbar2.3.1ImmunityCanvasJava反序列化终极测试工具AndroidKiller_v1.3.1Android逆向助手_v2.2apktoolapk数据提取Backupdex2jar-0.0.9.15drozer集合frida-server-15.1.1GD
- Android逆向系列--JDWP协议
Tasfa
Android逆向分析androidjava开发语言
Android逆向系列--JDWP协议背景简介使用源码调用参考背景经常会遇到各种各样需要使用jdwp知识的场景,比如调试Java源码、比如抓帧等等,这些关联知识点通常都会极其复杂,如果不能很好的了解jdwp协议的相关知识,那么做进一步的逆向将极其困难,本文将对jdwp进行详细的介绍和使用介绍。简介JDWP(JavaDebugWireProtocol)即JAVA调试器无线协议,它定义了调试器(Deb
- Android逆向之旅-Android Studio的调用So文件极简教程
贺兰猪
Androidandroidandroidstudio
一、配置so需要的库环境高版本的AndroidStudio已经集成了LLDB调试库,所以说,大家不要在找为什么没有,该从哪里去找。现在很多教程都是老的,这个算是我用的这个版本的最新方法,踩坑版。File->setting二、创建so文件的工程直接选择最后一个File->Newproject配置自己按喜好配配置完成后在Project模式下查看是这样的。函数名:Java_com_example_myj
- Android逆向-实战so分析-某洲_v3.5.8_unidbg学习
哔哩哩!
移动安全androidapp安全java安全
文章目录1.unidbg的介绍2.unidbg的安装2.1.下载unidbg工具2.2.导入IDEA2.3.验证导入是否成功3.unidbg的使用3.1.目标方法静态分析3.2.模拟执行目标方法3.3.算法分析3.3.1.OLLVM去混淆3.3.2.指令级Hook辅助分析3.3.3.unidbg寄存器trace分析4.补充知识4.1.JNIEnv、jobject、jclass4.1.2.JNIEn
- Android逆向 ELF文件结构详解
壹杯敬月光
转载自https://bbs.pediy.com/thread-255670.htmELF文件结构详解链接与装载视图Elf文件有2个平行视角:一个是程序链接角度,一个是程序装载角度。从链接的角度来看,Elf文件是按“Section”(节)的形式存储;而在装载的角度上,Elf文件又可以按“Segment”(段)来划分。实际上,Section和Segment难以从中文的翻译上加以区分。因为很多时候Se
- Android逆向——过frida检测+so层算法逆向
Aligado0628
Android逆向网络
0x01过frida检测frida可以说是逆向里面很受欢迎的工具了,你可以在运行的时候得到几乎你想要的所有东西,函数地址、内存数据、java实例,根据我们的需要去修改程序的运行逻辑等等,但是太流行也不好,迎来了各种检测。ptrace占坑、进程名检测、端口检测。(这绕过太简单了)D-Bus通信协议的检测。maps、fd检测。App中线程名的检测。直接拿出App,看看他到底怎么检测的。节省时间,直接用
- Android逆向基础1(Smali语法入门)
enj0y1
简单的说,Smali就是DalvikVM内部执行的核心代码。1.Smali的基本类型B---byteC---charD---doubleF---floatI---intJ---longS---shortV---voidZ---boolean[XXX---array(数组)Lxxx/yyy---object(对象)2.函数的定义函数的定义一般为:Func-Name(Para-Type1Para-Ty
- Android逆向技术高阶大法
alexhilton
原文链接Android逆向技术高阶大法安卓应用是一个客户端,与传统软件类似,需要把软件打包,然后通过某种渠道(应用市场)分发给用户,这是常规的发布方式,它的更新节奏很慢,从你在应用市场上更新后,到用户真正的执行升级,这中间很慢的,而且很多用户根本不会升级新版本,这对于互联网来说是极不友好的。传统的互联网,用户刷新一下网页后,就能看得到更新了,但对于客户端,这行不通,要想实现小时级别的发布和分钟级别
- Android逆向学习(六)绕过app签名校验,通过frida,io重定向(上)
Rytter
Android逆向android学习
Android逆向学习(六)绕过app签名校验,通过frida,io重定向(上)一、写在前面这是吾爱破解正己大大教程的第五个作业,然后我的系统还是ubuntu,建议先看一下上一个博客,关于动态调试的,因为我这才发现动态调试是真的有很大用处,然后我们开始今天的教程(拖更很久了,最近真的很忙事情好多,抽空出一期博客,这一节博客问题其实挺多的,如果有不对的地方请指出,不胜感激)二、任务目标破解签名,使程
- Android逆向入门教程
绿竹痕
androidandroid反编译
前言什么是Android逆向开发?Android逆向开发是指对已发布的Android应用进行分析和破解,以了解应用程序的内部工作原理,获取应用程序的敏感信息,或者修改应用程序的行为。逆向开发可以帮助开发人员了解他人的代码实现,也可以帮助黑客攻击应用程序。1APKTool介绍APKTool是一个开源的、跨平台的反编译、回编译Android应用程序的工具。它能够将APK文件解压并还原成Android应
- Android逆向之旅。
銨靜菂等芐紶
Androidandroid
转载自品略图书馆http://www.pinlue.com/article/2020/03/1301/0610022114445.html一、前言今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为:第一篇:如何使用Eclipse动态调试smali源码第二篇:如何使用IDA动态调试SO文件现在要说的就是最后一篇了,如何应对Android中一些加固apk安全防护,在之前的两篇破解文章中,我们
- Android逆向之旅---动态方式破解apk终极篇(加固apk破解方式)
chupu2979
一、前言今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为:第一篇:如何使用Eclipse动态调试smali源码第二篇:如何使用IDA动态调试SO文件现在要说的就是最后一篇了,如何应对Android中一些加固apk安全防护,在之前的两篇破解文章中,我们可以看到一个是针对于Java层的破解,一个是针对于native层的破解,还没有涉及到apk的加固,那么今天就要来介绍一下如何应对现在市场中
- Android逆向之旅---动态方式破解apk终极篇 加固apk破解方式
是喝醉了吗
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!一、前言今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为:第一篇:如何使用Eclipse动态调试smali源码第二篇:如何使用IDA动态调试SO文件现在要说的就是最后一篇了,如何应对Android中一
- Android逆向编程实践-准题库APP破解
修符道人
最近在使用一款APP叫做“准题库”,看了两个视频感觉讲得不错,再看后面的就让交费了。我就百度搜各种资料,研究怎么破解一下,才接触到”逆向编程”这个领域。说实话,以前也稍微用到过反编译的工具“欣赏”一下别人的代码,应用上线前也用各种加固工具加固过,但是不知道什么原理。经过几天的研究,才有了这个笔记本下的这几篇文章,真心觉得”逆向编程“挺有意思的。下面就言归正转,说一下我破解”准题库“的历程。APP下
- sekiro实践
xsren2019
感谢这篇文章提供思路。Android逆向之无加固下的Java层和Native层模拟的调度解决方案一、背景现在好多androidapp的加密都放在了so,逆向so需要的时间成本很高,我一直在想有没有一些通用的方案。参考网上的的方案,我实践了如下三种方案。Android上起httpserver参考AndServer+Service打造Android服务器实现so文件调用Android上起httpser
- Android逆向学习笔记2:APK结构(1)
Daylighttx
Android逆向学习android学习笔记
目录APK目录结构:apk打包流程:ADT时代:AndroidStudio时代:APK目录结构:首先随便找一个apk文件,直接对其解压缩得到如下文件其中:AndroidManifest.xml:编译好的AXML二进制格式文件META-INF目录:用于保存apk的签名信息class.dex:程序的可执行代码,如果开启了MutliDex,则会有多个DEX文件res目录:程序中使用的资源信息。即一些图片
- Android逆向笔记 —— AndroidManifest.xml 文件格式解析
u012551350
温馨提示请拖动到文章末尾,长按识别「抽奖」小程序。做过Android开发的同学对AndroidManifest.xml文件肯定很熟悉,我们也叫它清单文件,之所以称之为清单文件,因为它的确是应用的“清单”。它包含了应用的包名,版本号,权限信息,所有的四大组件等信息。在逆向的过程中,通过apk的清单文件,我们可以了解应用的一些基本信息,程序的入口Activity,注册的服务,广播,内容提供者等等。如果
- Android逆向笔记之AndroidKiller与Android Studio的使用
aijia1857
前言:书本中对crackme02.apk的破解是分析关键词进行破解的,而本文使用另外的Smali分析方式,对样本进行分析。样本:《Android软件安全与逆向分析》crackme02.apk工具:AndroidKillerv1.3.1.0(AK)&&AndroidStudio2.2.3(AS)语言:Java,Smali目的:Smali代码分析之前的准备工作一、样本反编译二、在AS下打开反编译出来的
- Android逆向 某州 解密sign字段 so层 算法分析 Unidbg模拟执行
zhoumi_
安卓逆向
跟着龙哥学SO逆向入门实战教程一:OASIS前言功力不及龙哥百分之一文笔也是实力也是,仅作为个人记录学习过程。龙哥博客传送门1.需解密对象“sign”字段跟着龙哥学的,忘了查壳用jadx打开之后发现文件有点少查壳之后发现是x60加固。掉以轻心了…2.脱壳查壳脱壳直接上dump_dex.js3.定位到java关键函数重新压缩成zip用jadx再次打开搜索“sign”去掉一些加载sdk的包名是个剩下框
- 【Android逆向】记录一次某某虚拟机的逆向
wei_java144
逆向开发android
导语学了一段时间的XPosed,发现XPosed真的好强,只要技术强,什么操作都能实现...这次主要记录一下我对这款应用的逆向思路apk检查使用MT管理器检查apk的加壳情况发现是某数字的免费版本直接使用frida-dexdump脱下来后备用应用分析进入应用之后会发现里边含有登录会员等模块我们先不管登录的部分,先检查会员的使用场景,一般在会员的使用场景或者显示场景中都会有检查是否是VIP的业务逻辑
- Android逆向工程相关工具集合
老鱼头711
刷机包sparseimg->ext4img线刷包里面找到system.img/vendor.img$filesystem.imgsystem.img:Androidsparseimage,version:1.0,Totalof8499204096-byteoutputblocksin2454inputchunks.使用Android源码编译得到out/host/linux-x86/bin/simg
- android逆向开发之Frida逆向基础
Android每日一讲
Android逆向开发android程序员移动开发逆向
Frida是一款功能强大的动态分析和逆向工程工具,可用于在运行时修改和监控应用程序。它支持多个平台,包括Android、iOS、Windows、macOS等,提供了JavaScriptAPI,使用户能够在目标应用程序中直接执行自定义的脚本代码。基础知识安装Frida:首先,你需要安装Frida框架。你可以在Frida官方网站(https://frida.re)上找到安装指南和相关文档。安装过程根据
- Frida hook框架环境搭建
Python9724
python
Android逆向之hook框架Frida:Frida的环境搭建及入门实战_androidfrida-CSDN博客https://app.yinxiang.com/fx/9dcb50f0-a6b3-4c93-bef4-c3d1197a2422一,版本配置frida12.3.6安卓5-6python3.7frida12.8.0安卓7-8python3.8frida14+安卓9+python3.8fr
- Android逆向之重新打包APK
lihuayong
AndroidAndroid逆向APK反编译APK签名APK打包
1.反编译反编译工具使用apktool,点击安装使用如下命令:apktooldexample.apk执行完毕后会在当前目录生成一个example文件夹,里面是反编译出的文件。2.修改文件在example文件夹里找到AndroidManifest.xml文件,并在application节点里添加如下代码:android:networkSecurityConfig="@xml/network_secu
- 记一次Android App逆向入门实战(逆向思路&工具使用&CrackMe)
呆呆不呆丫
背景知识随着Android设备的急剧增长和逆向工具链的成熟,AndroidApp的安全性问题日益突出,其中二次打包问题较为严重。恶意攻击者利用反编译工具对App进行源码反编译、植入广告SDK、插入钓鱼页面,重打包和重签名后,恶意篡改后的App通过非法渠道流入市场。终端用户如果使用这些App,会有隐私数据泄漏、资金财产被盗取的风险。本文将介绍自己的一次Android逆向入门实战经历,分别是在nati
- Android逆向一-frida操作
独小程
开发语言爬虫
系列文章目录第一章frida操作文章目录系列文章目录前言一、两种模式二、frida命令行执行及参数三、frida使用python执行四、动静态域调用1.静态域调用2.动态域调用五.远程rpc调用六.补充总结前言熟悉frida操作,hook手机app的关键位置进行逆向操作一、两种模式attach:应用运行过程中hook,有壳也可以spawn:创建进程时就hook(类还没有加载),有壳话就不行二、fr
- Android逆向二-objection操作
独小程
android
系列文章目录第一章objection操作文章目录系列文章目录前言Objection常用命令:前言Objection常用命令:普通连接objection-gcom.android.settingsexplore:基于已连接的ADB连接到指定包名的应用程序。远程连接objection-N-h192.168.199.248-p8888-gcom.android.settingsexplore:通过IP地
- Android逆向分析之Xposed的hook技术
哲学的天空
#2.10软件安全
Android逆向工程里常用到的工具除了的dex2jar,jd-gui,Apktool之外还有一个Xposed。这个工具是一个在不修改APK的情况下,影响其运行过程的服务框架。可以根据自己的需求编写模块,让模块控制目标应用的运行。因为本人也是新手,对于Xposed用法还有很多的不熟悉,所以只对其hook技术进行简单的介绍,并让hook技术应用到以后的逆向分析工程中。至于什么是hook,不了解的话就
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen