- 一文搞懂 Smali 与 Baksmali:Java 层逆向必备技能
CYRUS STUDIO
java开发语言逆向androidsmalibaksmali
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/smali与baksmalismali和baksmali是用于Android平台中DEX文件的汇编器和反汇编器,广泛应用于Android逆向分析与调试。smali和baksmali是一对工具,分别用于:smali:将smali代码(Java汇编语言)编译成DEX文件。baksmali:
- Android逆向工具简单介绍
@ZhangJun
Android进阶Android逆向反编译反汇编Hook
目录一、Android逆向概述1、什么是Android逆向2、逆向过程3、逆向用途1)APP自动化执行程序脚本2)修改APP的功能3)APP安全二、常用逆向工具介绍1、APP抓包工具1)Fiddler2)Wireshark2、jadx反编译工具3、APKDB4、Frida之Hook工具5、IDA反汇编工具1)为何反汇编2)如何反汇编3)IDAPro的基本功能:4)IDA目录结构5)常用快捷键6)常
- Android逆向(Frida思路(第一集))
aaiier
androidpython开发语言
在FridaAndroid上,如果想先修改某个类的方法1内部调用的方法2,然后再启动方法1,通常用Java.use或Interceptor.attach进行Hook。Java.use()获取类并调用方法choose()查找已创建的实例并调用方法overload()精确调用特定参数的方法Java.cast()转换choose()选中的对象并调用方法implementation会完全替换方法的所有代码
- 360加固一键脱壳工具2020_Android逆向之路---脱壳360加固原理解析
weixin_39870132
360加固一键脱壳工具2020android二维码解析原理
需要的环境无,看文章就可以了解大致了(当然你要是想编译下dumpDex项目,需要如下工具)AndroidStudiosdkndk入口所有的程序执行的时候都是有个入口的,dumpDex工程也不例外。由于是个xposed插件,所以我们先看com.wrbug.dumpdex.XposedInit类。publicclassXposedInitimplementsIXposedHookLoadPackage
- android逆向分析so,Android逆向 之 IDA静态分析so(一)
扔东西瓜皮
android逆向分析so
概述本文使用IDA对android调用so进行静态分析,以此实验掌握so层的一些分析技巧。前置条件ARM汇编(虚拟机为armebi-v7a)IDA的基本使用JNI开发基础Android中调用so#directmethods#加载so库.methodstaticconstructor()V.locals1.prologue.line26const-stringv0,"verify"invoke-st
- Android逆向分析基础(一)
哆啦安全
安全实战app安全渗透测试网络安全
零基础一对一技术咨询服务(远程指导)一、Objection针对所有支持的平台,提供了下列核心功能(一)Android特殊功能2(二)iOS特殊功能2二、搭建Objection测试环境2三、使用Objection测试分析移动App3一、Objection针对所有支持的平台,提供了下列核心功能(1)修复iOS和Android应用程序,嵌入了Frida实
- Android逆向--Android11 密码锁屏源码分析
随风无声
android
1.打开应用的密码锁屏页面执行adbshelldumpsyswindow|grepmFoc得到当前的页面对应的java文件是位于AOSP源码下的vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\password\ChooseLockPassword.java文件两次输入密码后点击(确认/co
- Android逆向(Xposed配置)
奶龙牛牛
android
settings.gradle1.settings.gradlevs.build.gradle文件作用settings.gradle管理整个Gradle项目(包括多模块)build.gradle管理单个模块的构建(比如依赖、插件)重点:settings.gradle负责全局配置,比如项目名称、多模块、仓库地址等。build.gradle负责每个模块的构建配置,比如Java版本、依赖项等。//Gra
- Android逆向学习知识体系(三)
zhangjianming2018
Androidkotlinandroid
第二阶段:Android逆向进阶学习:Android系统结构深入分析,自定义ClassLoader,自定义注解和元注解原理分析;了解AndroidNDK,静态注册,动态注册,SO加载分析,App保护策略去除霸哥磁力搜素APK签名验证,一键去除签名验证,静态代理,动态代理HookActivity启动函数,Hook签名验证函数介绍xposed框架:Xposed框架:绕过验证码注册Xposed框架:登陆
- 【转】android安全与逆向进阶路线
Synioe
androidandroid
【转自论坛热帖】此篇整理了最完整的--Android逆向学习线路知识体系。希望给迷糊的入门者指出一个明确的方向。真心建议:先正向开发几年再搞逆向吧……正向都不会破解的是啥?不看代码只会脱壳?只会xposed?远远不够,hook只是很小一部分技术,xposed是hook功能众多框架中的一个而已。相对于任何程序的开发来说,逆向知识点很少很少了,关键是基础知识,基础就是正向开发经验。学习Android逆
- 深入掌握Smali语法:Android逆向工程的核心
小宇python
app逆向android
深入掌握Smali语法:Android逆向工程的核心在Android逆向工程和应用开发中,Smali语法扮演着至关重要的角色。Smali是一种基于寄存器的汇编语言,用于表示Dalvik字节码,即Android应用的中间代码。本文将详细介绍Smali语法的基础知识、结构和关键概念,帮助你在Android逆向工程中游刃有余。1.Smali语法概述Smali语法是Android平台上Dex文件的文本表示
- Android逆向(Apktool)
奶龙牛牛
android
1.安装apktool✅Windows安装1️⃣下载apktool.jar和apktool.batapktool官方GitHub下载apktool.jar和apktool.bat放入C:\Windows\2️⃣测试是否安装成功apktool-version2.反编译APK使用apktool反编译APK(解包):apktooldmyapp.apk-omyapp说明d反编译(decompile)mya
- Android逆向(Mitmproxy)
奶龙牛牛
android
2.安装Mitmproxypipinstallmitmproxy安装完成后,测试是否可用mitmproxy--version3.启动Mitmproxymitmproxy-p8080✅默认监听端口8080,并等待手机设备连接。4.配置Android代理1️⃣手机和电脑连接同一个Wi-Fi2️⃣在Android设备上设置代理打开Wi-Fi设置→选择当前Wi-Ficmd输入ipconfig查看电脑IP选
- Android 逆向之 Uni Debug 全面解析
阿贾克斯的黎明
逆向
目录Android逆向之UniDebug全面解析一、UniDebug概述(一)Unicorn框架(二)UniDebug简介二、UniDebug的使用场景、优缺点(一)使用场景(二)优点(三)缺点三、UniDebug的使用步骤(一)配置资源文件(二)文件结构解析(三)案例分析与代码示例四、UniDebug的API介绍(一)Emulator常用API(二)内存常用API(三)VN常用API五、UniD
- 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下
- 遍历dom 并且存储(将每一层的DOM元素存在数组中)
换个号韩国红果果
JavaScripthtml
数组从0开始!!
var a=[],i=0;
for(var j=0;j<30;j++){
a[j]=[];//数组里套数组,且第i层存储在第a[i]中
}
function walkDOM(n){
do{
if(n.nodeType!==3)//筛选去除#text类型
a[i].push(n);
//con
- Android+Jquery Mobile学习系列(9)-总结和代码分享
白糖_
JQuery Mobile
目录导航
经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css。
个人觉得基于WebView的Jquery Mobile开发有以下优点:
1、对于刚从Java Web转型过来的同学非常适合,只要懂得HTML开发就可以上手做事。
2、jquerym
- impala参考资料
dayutianfei
impala
记录一些有用的Impala资料
1. 入门资料
>>官网翻译:
http://my.oschina.net/weiqingbin/blog?catalog=423691
2. 实用进阶
>>代码&架构分析:
Impala/Hive现状分析与前景展望:http
- JAVA 静态变量与非静态变量初始化顺序之新解
周凡杨
java静态非静态顺序
今天和同事争论一问题,关于静态变量与非静态变量的初始化顺序,谁先谁后,最终想整理出来!测试代码:
import java.util.Map;
public class T {
public static T t = new T();
private Map map = new HashMap();
public T(){
System.out.println(&quo
- 跳出iframe返回外层页面
g21121
iframe
在web开发过程中难免要用到iframe,但当连接超时或跳转到公共页面时就会出现超时页面显示在iframe中,这时我们就需要跳出这个iframe到达一个公共页面去。
首先跳转到一个中间页,这个页面用于判断是否在iframe中,在页面加载的过程中调用如下代码:
<script type="text/javascript">
//<!--
function
- JAVA多线程监听JMS、MQ队列
510888780
java多线程
背景:消息队列中有非常多的消息需要处理,并且监听器onMessage()方法中的业务逻辑也相对比较复杂,为了加快队列消息的读取、处理速度。可以通过加快读取速度和加快处理速度来考虑。因此从这两个方面都使用多线程来处理。对于消息处理的业务处理逻辑用线程池来做。对于加快消息监听读取速度可以使用1.使用多个监听器监听一个队列;2.使用一个监听器开启多线程监听。
对于上面提到的方法2使用一个监听器开启多线
- 第一个SpringMvc例子
布衣凌宇
spring mvc
第一步:导入需要的包;
第二步:配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi=
- 我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer
aijuans
Spring3
PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer,但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。也就是说如果properties文件中没有某个bean属性的内容,那么将使用上下文(配置的xml文件)中相应定义的值。如果properties文件中有bean属性的内容,那么就用properties文件中的值来代替上下
- 通过XSD验证XML
antlove
xmlschemaxsdvalidationSchemaFactory
1. XmlValidation.java
package xml.validation;
import java.io.InputStream;
import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schem
- 文本流与字符集
百合不是茶
PrintWrite()的使用字符集名字 别名获取
文本数据的输入输出;
输入;数据流,缓冲流
输出;介绍向文本打印格式化的输出PrintWrite();
package 文本流;
import java.io.FileNotFound
- ibatis模糊查询sqlmap-mapping-**.xml配置
bijian1013
ibatis
正常我们写ibatis的sqlmap-mapping-*.xml文件时,传入的参数都用##标识,如下所示:
<resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO">
<res
- java jvm常用命令工具——jdb命令(The Java Debugger)
bijian1013
javajvmjdb
用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。
现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLI
- 【Spring框架二】Spring常用注解之Component、Repository、Service和Controller注解
bit1129
controller
在Spring常用注解第一步部分【Spring框架一】Spring常用注解之Autowired和Resource注解(http://bit1129.iteye.com/blog/2114084)中介绍了Autowired和Resource两个注解的功能,它们用于将依赖根据名称或者类型进行自动的注入,这简化了在XML中,依赖注入部分的XML的编写,但是UserDao和UserService两个bea
- cxf wsdl2java生成代码super出错,构造函数不匹配
bitray
super
由于过去对于soap协议的cxf接触的不是很多,所以遇到了也是迷糊了一会.后来经过查找资料才得以解决. 初始原因一般是由于jaxws2.2规范和jdk6及以上不兼容导致的.所以要强制降为jaxws2.1进行编译生成.我们需要少量的修改:
我们原来的代码
wsdl2java com.test.xxx -client http://.....
修改后的代
- 动态页面正文部分中文乱码排障一例
ronin47
公司网站一部分动态页面,早先使用apache+resin的架构运行,考虑到高并发访问下的响应性能问题,在前不久逐步开始用nginx替换掉了apache。 不过随后发现了一个问题,随意进入某一有分页的网页,第一页是正常的(因为静态化过了);点“下一页”,出来的页面两边正常,中间部分的标题、关键字等也正常,唯独每个标题下的正文无法正常显示。 因为有做过系统调整,所以第一反应就是新上
- java-54- 调整数组顺序使奇数位于偶数前面
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
import ljn.help.Helper;
public class OddBeforeEven {
/**
* Q 54 调整数组顺序使奇数位于偶数前面
* 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半
- 从100PV到1亿级PV网站架构演变
cfyme
网站架构
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的
架构师不是一天练成的。
1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTM
- [宇宙时代]宇宙时代的GIS是什么?
comsci
Gis
我们都知道一个事实,在行星内部的时候,因为地理信息的坐标都是相对固定的,所以我们获取一组GIS数据之后,就可以存储到硬盘中,长久使用。。。但是,请注意,这种经验在宇宙时代是不能够被继续使用的
宇宙是一个高维时空
- 详解create database命令
czmmiao
database
完整命令
CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/m
- 几句不中听却不得不认可的话
datageek
1、人丑就该多读书。
2、你不快乐是因为:你可以像猪一样懒,却无法像只猪一样懒得心安理得。
3、如果你太在意别人的看法,那么你的生活将变成一件裤衩,别人放什么屁,你都得接着。
4、你的问题主要在于:读书不多而买书太多,读书太少又特爱思考,还他妈话痨。
5、与禽兽搏斗的三种结局:(1)、赢了,比禽兽还禽兽。(2)、输了,禽兽不如。(3)、平了,跟禽兽没两样。结论:选择正确的对手很重要。
6
- 1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误
dcj3sjt126com
PHP
原文地址:http://www.kafka0102.com/2010/08/281.html
因为需要,今天晚些在本机使用PHP做些测试,PHP脚本依赖了一堆我也不清楚做什么用的库。结果一跑起来,就报出类似下面的错误:“Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/kafka/test/
- xcode6 Auto layout and size classes
dcj3sjt126com
ios
官方GUI
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html
iOS中使用自动布局(一)
http://www.cocoachina.com/ind
- 通过PreparedStatement批量执行sql语句【sql语句相同,值不同】
梦见x光
sql事务批量执行
比如说:我有一个List需要添加到数据库中,那么我该如何通过PreparedStatement来操作呢?
public void addCustomerByCommit(Connection conn , List<Customer> customerList)
{
String sql = "inseret into customer(id
- 程序员必知必会----linux常用命令之十【系统相关】
hanqunfeng
Linux常用命令
一.linux快捷键
Ctrl+C : 终止当前命令
Ctrl+S : 暂停屏幕输出
Ctrl+Q : 恢复屏幕输出
Ctrl+U : 删除当前行光标前的所有字符
Ctrl+Z : 挂起当前正在执行的进程
Ctrl+L : 清除终端屏幕,相当于clear
二.终端命令
clear : 清除终端屏幕
reset : 重置视窗,当屏幕编码混乱时使用
time com
- NGINX
IXHONG
nginx
pcre 编译安装 nginx
conf/vhost/test.conf
upstream admin {
server 127.0.0.1:8080;
}
server {
listen 80;
&
- 设计模式--工厂模式
kerryg
设计模式
工厂方式模式分为三种:
1、普通工厂模式:建立一个工厂类,对实现了同一个接口的一些类进行实例的创建。
2、多个工厂方法的模式:就是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式就是提供多个工厂方法,分别创建对象。
3、静态工厂方法模式:就是将上面的多个工厂方法模式里的方法置为静态,
- Spring InitializingBean/init-method和DisposableBean/destroy-method
mx_xiehd
javaspringbeanxml
1.initializingBean/init-method
实现org.springframework.beans.factory.InitializingBean接口允许一个bean在它的所有必须属性被BeanFactory设置后,来执行初始化的工作,InitialzingBean仅仅指定了一个方法。
通常InitializingBean接口的使用是能够被避免的,(不鼓励使用,因为没有必要
- 解决Centos下vim粘贴内容格式混乱问题
qindongliang1922
centosvim
有时候,我们在向vim打开的一个xml,或者任意文件中,拷贝粘贴的代码时,格式莫名其毛的就混乱了,然后自己一个个再重新,把格式排列好,非常耗时,而且很不爽,那么有没有办法避免呢? 答案是肯定的,设置下缩进格式就可以了,非常简单: 在用户的根目录下 直接vi ~/.vimrc文件 然后将set pastetoggle=<F9> 写入这个文件中,保存退出,重新登录,
- netty大并发请求问题
tianzhihehe
netty
多线程并发使用同一个channel
java.nio.BufferOverflowException: null
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[na:1.7.0_60-ea]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[na:1.7.0_60-ea]
- Hadoop NameNode单点问题解决方案之一 AvatarNode
wyz2009107220
NameNode
我们遇到的情况
Hadoop NameNode存在单点问题。这个问题会影响分布式平台24*7运行。先说说我们的情况吧。
我们的团队负责管理一个1200节点的集群(总大小12PB),目前是运行版本为Hadoop 0.20,transaction logs写入一个共享的NFS filer(注:NetApp NFS Filer)。
经常遇到需要中断服务的问题是给hadoop打补丁。 DataNod