- app反编译工具及使用
じ 耐人
网络安全
apktool——可以反编译软件的布局文件、图片等资源,方便大家学习一些很好的布局;dex2jar——将apk反编译成java源码(classes.dex转化成jar文件);jd-gui——查看APK中classes.dex转化成出的jar文件,即源码文件。apktool使用方法解包:java-jarapktool_2.4.1.jarddemo.apk-odemo//其中d后面是要反编译的apk文
- Dex、Smali、Class、Java、Jar之间的相互转换
布道课堂
Dex、Smali、Class、Java、Jar之间的相互转换-分析Android底层代码工具工具作用javacjava------>classddxclass------>dexbaksmalidex------>smalismalismali------>dexdex2jardex------>jar(class的压缩包)apktoolapk------>smaliAndroid源代码从编译到
- 移动端安卓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 反编译
清风流苏
ApktoolApktool可用来从.apk文件中提取资源文件,包括图片、布局文件以及Manifest文件等。官网下载地址:https://ibotpeaches.github.io/Apktool/install/当前最新版本为:apktoolv2.3.4Windows下载安装说明:保证安装了JDK8+下载apktool.bat(另存为apktool.bat)下载apktool.jar,重命名为
- 安装apktool
Lee_5566
image.pngapktool官网下载安装包。image.png下载后重新命名为:apktool.jar注意安装前需要先安装java。ubunut下安装进入脚本网站官网说明:Linux:下载Linux包装器脚本(右键单击,将链接另存为apktool)下载apktool-2(在这里找到最新的)将下载的jar重命名为apktool.jar将两个文件(apktool.jar&apktool)移动到/u
- Apktool任意文件写入漏洞分析 CVE-2024-21633
INSBUG
漏洞分享代码审计和安全渗透安全网络安全
前置知识在复现该漏洞前,有必要了解Apktool和resources.arsc相关的基础知识,方便理解后续POC的构造。Apktool是一款流行的开源逆向工程软件,用于反编译和编译Android应用,因此,Apktool被许多其他逆向工程软件集成。官网地址:https://apktool.org/项目地址:https://github.com/iBotPeaches/Apktool该工具可以将An
- 安卓学习笔记之二:APKtool工具实现反编译-编译-签名全过程
manmanbab
智能手机学习笔记
APKTool介绍APKTool是一个开源的、跨平台的反编译、回编译Android应用程序的工具。它能够将APK文件解压并还原成Android应用程序的资源文件和Smali代码,还能将修改后的资源文件和Smali代码重新打包成APK文件。APKTool是Android应用程序开发和逆向开发的重要工具之一,它能够帮助开发者对APK文件进行修改、分析和定制,也能够帮助安全研究人员和黑客对应用程序进行逆
- Android反编译之模拟重新打包
顺_967d
Baksmali:https://github.com/JesusFreke/smaliApktool:https://ibotpeaches.github.io/Apktool/dex2jar:https://sourceforge.net/projects/dex2jar/这几个工具,我注意到,大家基本上用的最多的是Baksmali,不过我使用的时候,发现其使用方法有了简单变化,所以简单记录一
- 使用apktool、aapt2、bundletool将apk转为aab(Android App Bundle)
林慈桥
androidjavasdk
开发中遇到的场景上一篇文章我们讲了AAPT2命令行使用总结,里面有个使用场景就是将apk转为aab文件,aab文件是应用上架Googleplay的指定包格式,下面我们就来实践下假如我们有这样一个场景需求,一个游戏或者应用接入了我们开发的聚合SDK,然后提供给我们一个apk包,我们拿到这个apk包可以使用打包工具来融合具体的渠道SDK或者插件,现在要出的这个包是上架海外的,那么就只有出aab包了。我
- 如何查看apk安装包源代码??Android反编译apk,解包,打包,签名一体化实测 ,修改图片音频软件名称版本号等入门
颖火虫-IT赵云
javaandroid反编译apkandroidcmd
首先下载反编译工具包下载地址链接:https://zly520.lanzoui.com/ibtuxhf7rab一、反编译工具介绍首先如果你想改动图片音频之类的,见末尾!1.apktool:由于直接改apk后缀进行解压的话打开的xml文件会乱码,所以我们使用apktool工具查看apk的xml文件、AndroidManifest.xml和图片等AndroidManifest.xml:应用清单(man
- 反编译工具的使用
NoBugException
apktool作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看dex2ja作用:将apk反编译成Java源码(classes.dex转化成jar文件)jd-gui作用:查看APK中classes.dex转化成出的jar文件,即源码文件===============================================================apktool的使用(1)下
- 史上最全破解安卓APK和反编译
工程师丶佛爷
原创APK优化jarjavaandroid
目录准备工具Apktool安装Apktool反编译Apkdex2jar-2.0使用jd-gui使用:准备工具Apktool反编译xml文件和dex文件,并可以将编译后的项目重新打包成apk。官方下载地址:Apktooldex2jar将classes.dex转换为「.jar」文件)官方下载地址:dex2jarjd-gui查看「.jar」文件官方下载地址:jd-guiApktool我们可以通过Apkt
- 恶意安卓应用分析实验报告
wawa0611
android反编译
【实验目的】掌握在线分析安卓恶意应用。学会使用安卓应用反编译工具。掌握手工分析安卓恶意应用。【实验环境】Windows11、Java11.0.16.1(jdk1.8.0_172)apktool、dex2jar-2.0、jd-gui.exe、安卓应用安装文件【实验内容】在线分析安卓恶意应用。使用apktool反编译apk文件。使用dex2jar转换dex文件。使用jdgui查看源码。分析安卓恶意应用
- androidkiller的两种异常情况
程序帝国
安卓逆向安卓杀手
第一种反编译时异常:Exceptioninthread“main”org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile:Notavaliddexmagicvalue:cf774cc79b2101修改方法:编辑AndroidKiller的bin/apktool目录下有一个apktool.bat文件修改成:在java-jar“%~dp0\apkto
- android防止二次打包
为自己代颜_
二次打包的危害性如果你没有对你的应用做任何的安全保障措施,那么你的应用就非常的危险首先了解一下什么是二次打包:二次打包通过工具apktool、dex2jar、jd-gui、DDMS、签名工具获取源码,嵌入恶意病毒、广告等行为再利用工具打包、签名,形成二次打包应用。此文最简单的解决方案:校验签名:可以在代码中判断签名信息是否被改变过,如果签名不一致就退出程序,以防止apk被重新打包。代码如下:pub
- Apktool 下载、安装和使用
给我一支白沙
Apktool简介用于反编译Androidapk,可以将应用中的资源提取出来,也可以在修改资源文件后重新打包。smali调试环境要求安装java1.8以上命令行运行java-version返回版本大于1.8如果没有,请安装java1.8下载与安装下载apktool_x.x.x.jar到本地官网下载或者镜像下载重命名下载的apktool_x.x.x.jar,改名为apktool.jar下载脚本并配置
- 安卓小技巧:如何查看一个 apk 的包信息
Roc.Chang
工具androidjava开发语言
目录使用第三方网站(非常推荐)使用aapt工具(推荐)使用apktool工具(推荐)使用第三方查看工具(推荐)使用AndroidStudio操作(推荐)通过解压文件(混淆的打不开)要查看一个APK文件的包信息,可以使用以下方式(如果有更好的方法,大佬们可以分享一下)。使用第三方网站(非常推荐)如果有其他更好的网站可以分享一下。https://www.sisik.eu/apk-tool使用aapt工
- Android逆向入门教程
绿竹痕
androidandroid反编译
前言什么是Android逆向开发?Android逆向开发是指对已发布的Android应用进行分析和破解,以了解应用程序的内部工作原理,获取应用程序的敏感信息,或者修改应用程序的行为。逆向开发可以帮助开发人员了解他人的代码实现,也可以帮助黑客攻击应用程序。1APKTool介绍APKTool是一个开源的、跨平台的反编译、回编译Android应用程序的工具。它能够将APK文件解压并还原成Android应
- 修改安卓apk设置为安卓主屏幕(launcher)
远方0905
androiduniapp前端
修改安卓apk将apk可以设置安卓主屏幕原理:将打包好的apk文件进行拆包增加配置文件在重新编译回apk包需要得相关文件下载解包apktool:https://pan.baidu.com/s/1oyCIYak_MHDJCvDbHj_qEA?pwd=5j2xdex2jar:https://pan.baidu.com/s/1Nc-0vppVd0GPnD6_Y-SRBA?pwd=cmkejd-gui:h
- Android反编译apk修改版本号及重签名流程
龙_9b58
这是一篇很不错的逆向思维的解决开发需求的文章。正文:最近突然有个需求,将很久前的某个版本重新发布到线上,经过长时间的迭代,gradleplugin的变迁以及插件化和模块远程依赖导致项目结构发生了巨大的变化,想要直接找回某个版本的代码成功的运行起来比较困难,不过还好只是修改版本号以及渠道,所以想到了直接使用反编译改完之后再回编的方式。这篇文章主要是记录一下整个流程。apktoolApktool是一个
- Android 反编译处理Dex
LMF·
Android逆向工程android
前言当我们将Android项目打包上架的时候,为了提高被人反编译代码的可能性可以提取dex文件对代码进一步做混淆处理。本文不对相关工具做过多的解释,不了解的可以先熟悉相关工具的使用。相关工具(点击直接下载)jadx-gui(反编译Android应用程序的图形用户界面工具)https://java-decompiler.github.io/apktool(用于反编译和重新打包Android应用的工具
- android 获取其他Apk包的资源文件
清汤白面
工具ApkTool.jarhttps://ibotpeaches.github.io/Apktool/install/百度盘:链接:https://pan.baidu.com/s/1JgMP661eXPLTxL7GH1OpdQ提取码:bmsu使用下载到指定文件中image.png利用cmd命令打开image.pngimage.png运行命令apktoold-fapkInputFile-ooutFi
- Jadx 反编译工具(适用于IOS,Android,Java三端)
zhengLH
【提示】这个工具只能是反编译出来核心代码(即java代码,对于xml文件,图片则会乱码,则得使用ApkTool工具进行反编译详细见我的另外一篇文章)【链接启发】http://blog.csdn.net/u010696783/article/details/51611532http://blog.csdn.net/zzx410527/article/details/52317507【jadx下载地址
- Android apk安装包反编译——apktool工具
西凉的悲伤
工具androidapktool反编译Android逆项
目录一、apk文件结构二、下载apktool三、使用apktool反编译apk四、编译为apk五、apk签名1.生成密钥库2.使用v1签名3.使用v2签名六、Dex加解密原理一、apk文件结构首先是apk,即安卓程序的安装包。Apk是一种类似于SymbianSis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。而apk文件实际上就是一个MIME
- Android无源码调试APK(使用ApkTool和Eclipse ADT)
Roland_Sun
Android
现在已经有很多方法可以反编译apk文件,常用的有dex2jar和JD-Gui的组合,可以看到近似java的代码,非常容易理解,使得破解一个apk的难度大大降低。但有时候,静态看代码也非常复杂,参数传来传去,尤其是那些不是直接调用,而是通过类似intent传过来的,要找到调用的源并了解每个参数的含义,还是比较复杂的。那么有没有一种方法,可以方便的在没有源码的情况下,对一个apk进行调试,从而更加简单
- 查看apk的VersionCode、VersionName
Frankeen
AndroidSDK提供了一个appt工具给我们查看apk的一些信息。appt工具位置在AndroidSDK文件夹下面的build-tools下面的任何版本里面,比如我的位于D:\android\adt-bundle-windows-x86_64-20131030\sdk\build-tools\28.0.0使用通过aapt.exedumpbadgingD:\apktool\xx.apk命令查看,
- AndroidStudio调用第三方so库函数
weixinzjh
安卓
前言我在一个工程中生成了so文件,在另外一个工程中调用该so文件中的函数。环境:androidstudio4+ubuntu20+ida借鉴文章:https://blog.csdn.net/u013347784/article/details/97106072生成so文件在androidstudio中生成默认的NDK并添加一个自己的方法生成apk文件,用apktool解压出so文件用ida打开发现其
- Apktool工具的下载安装和简单使用;反编译and解包打包;
Sciurdae
CTF学习笔记网络安全安全android
文章目录简介工具下载解包打包签名简介apktool"apktool"是一个用于反编译和重新编译AndroidAPK文件的开源工具,可以将APK文件反编译成可读的Smali代码或原始的XML布局文件。apktool需要java环境支持,请先安装好java环境,可以使用java-version,java版本尽量在1.8以上;工具下载下载地址:官网按照官方教程安装~解包命令行输入:apktooldbar
- 安卓apk逆向
李楠兮
android
前提准备1.手机模拟器(win优先选择雷电模拟器,不吃性能mac的话我选的夜神模拟器)2.MT管理器3.BlackDex(32位或者64位,根据手机选)4.AndroidSdk(至少包含platform-tools)5.frida-dexdump(电脑端)6.frida-server(手机端)7.反编译工具(apktool、jadx),apktool反编译的话对于文件整理做的很好,将资源和代码很好
- Android APK 反编译+修改+重打包+签名
青春给了狗
androidpycharmide
操作步骤:1.下载反编译工具包。2.将APK包,重命名为ZIP,解压。放到反编译根目录下。3.使用apktool反编译修改smail文件,进行重打包4.重新打包5.重签名1.下载反编译工具包。工具包地址:https://download.csdn.net/download/a546036242/88440636?spm=1001.2014.3001.5501解压后有四个压缩包:apktool.ra
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户