- web与Java代码保护:混淆、压缩及反编译工具详解
本文还有配套的精品资源,点击获取简介:为保障代码的安全性和保密性,IT行业中开发者采用代码混淆和压缩技术。本文将深入探讨web代码混淆压缩工具和Java代码反编译工具,解释它们的工作原理及应用。混淆工具如UglifyJS和Terser用于混淆JavaScript代码,使其难以理解;压缩工具如YUICompressor和GoogleClosureCompiler减小JavaScript和CSS文件的
- dnSpy 使用教程
一、dnSpy简介dnSpy是一款功能强大的免费开源.NET反编译工具,支持对.NETFramework、.NETCore和Mono程序进行反编译、调试与修改,能将程序集反编译为C#或IL(中间语言)代码,帮助开发者或安全研究人员深入分析和理解.NET程序的内部逻辑。它为逆向工程工作提供了极大便利,使相关操作更易于理解和执行。与之类似的ILspy也是一款知名的开源.NET反编译软件,下面将对二者进
- java枚举 数字_java 枚举
Java中枚举的线程安全性及序列化问题--枚举是如何保证线程安全的要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的写一个枚举:然后我们使用反编译,看看这段代码到底是怎么实现的,反编...文章java填坑路2018-08-051238浏览量Java基础15:深入剖
- 【Python】PyArmor库
宅男很神经
python开发语言
第1章PyArmor:深入理解Python代码保护的底层逻辑与实践Python作为一种动态、解释型语言,其代码的易读性是其广受欢迎的重要原因之一。然而,这种特性也带来了代码安全性的挑战。1.2PyArmor简介:功能与定位的核心剖析PyArmor是一个强大的Python应用程序保护工具,旨在帮助开发者保护他们的Python脚本和包不被轻易反编译、篡改或盗用。它通过一系列精妙的底层技术,实现了对Py
- 修改SpringBoot生成的jar文件后重新打包
wovski
后端springbootjarjavac
前言在日常Java开发中,我们有时需要对已有的Java项目进行修改和重新打包,特别是当我们需要对编译后的class文件进行反编译修改时。本文将详细介绍如何使用javac命令配合-encoding和-cp参数编译Java代码,以及如何使用jar命令将修改后的文件重新打包到原有的JAR包中。一、使用javac命令编译Java代码1.基本命令格式javac-encodingUTF-8-cp"lib/*"
- .net wpf混淆
佛·追命
.netwpf
混淆要求1、把exe所用到的依赖dll都合并到exe中2、使用反编译工具无法得到源代码混淆方式1、.netReactor优点:可以dll到exe中,也能防止反编译,但是要注意QuickSettings尽量勾选完毕缺点:争对WPF程序无法使用NativeEXEFile,但是Winform可以2、Confuser优点:可以防止反编译,也能防止反编译工具查看程序集名称缺点:无法把依赖的dll合并到exe
- 全方位守护代码安全:一款高效自动化工具的深度解析
深盾科技
安全自动化运维
在当今数字化时代,软件安全问题日益凸显,代码被反编译、反调试、篡改和窃取的风险无处不在。对于开发者来说,如何有效保护自己的软件成果,防止其被恶意利用,成为了亟待解决的问题。今天,就让我们来深入了解一下VirboxProtector这款强大的软件保护工具,看看它是如何为代码安全保驾护航的。一、关于VirboxProtectorVirboxProtector是北京深盾科技股份有限公司经过多年技术深耕开
- 提高APP安全性的必备加固手段——深度解析代码混淆技术
Nginx运维小李
ios
APP加固方式iOSAPP加固是优化APK安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下iOSAPP加固的具体实现方式。混淆代码:使用ProGuard工具可以对代码进行混淆,使得反编译出来的代码很难阅读和理解。使用方式:在build.gradle文件中配置proguard-rules.pro文件,然后在项目构建时执行混淆。加壳:使用加壳工具对APK文件进行加壳
- 历史项目依赖库Bugfix技巧-类覆盖
风象南
原创随笔java后端
在项目维护过程中,我们可能会遇到历史项目依赖的第三方库出现BUG而需要修复的情况,而这些第三方库可能来源于公司自主开发或开源项目,但由于各种原因,这些库可能已无人维护。此时,解决这个问题有三个办法1、基于源码修改重新打包发布2、某些时候可能没有源码,需要反编译进行修改再重新编译打包3、类覆盖本文主要分享第三种类覆盖的实现方式,用于在一些特殊情况下解决线上问题,保证项目的正常运行。一、类覆盖的基本原
- (亲测有效)Spring Boot项目Jar包加密,防止反编译
福气满满爸
springbootjar后端
场景最近Java项目要求部署到客户服务器上,但担心泄露源码。要求对正式环境的启动包进行安全性处理,防止客户通过反编译获取源代码。方案一(不建议使用,不在此详细述说,如需要详细教程可留言)使用proguard实现代码混淆:混淆只是把类名、方法名、参数名替换成a、b、c等字母,实际处理逻辑没有改动。方案二(不建议使用,springboot项目麻烦)使用JVMTi加密解密:使用此种加密方式还需要对spr
- 在 SpringBoot 项目简单实现一个 Jar 包加密,防止反编译
Java布道者
springbootjarpython
在现实场景中,某金融公司开发了一个基于SpringBoot的应用程序,该程序用于处理金融数据,具有高敏感性。为了防止该程序的核心代码(如数据加密、交易算法等)被反编译或篡改,公司希望通过加密JAR包并在运行时解密的方式来保护核心代码。为实现这个需求,我们设计了一个简单的加密和解密方案,其中:使用对称加密算法(AES)加密JAR文件。在程序启动时动态解密JAR文件,并加载解密后的类。将解密密钥存储在
- C# 读写USB X64
lrf2019
C#技术交流c#硬件操作USB读写
前几天接了一个比较老的USB读写dll,发现是X86的,但最新的软件框架需要X64,所以需要升级该USB的dll。使用dnspy反编译获取代码(还好是c#写的,支持反编译)直接上改完的代码:publicclassTiUsbHidIO{//Token:0x06000001RID:1[DllImport("kernel32.dll")]privatestaticexternIntPtrGlobalLo
- PowerBuilder反编译工具实战:从.pbd和.dll到源代码
一。Powerbuilder是如何编译成可执行文件的?编译配置步骤在PowerBuilder中创建Project对象,选择编译模式(MachineCode或PCODE)。勾选需编译的.pbl文件,设置生成路径及文件名(如abcd.exe)。选择是否生成.pbd文件(适用于PCODE模式)或.dll文件(适用于MachineCode模式)。资源文件管理.pbr文件:定义需嵌入到.exe
- JEB逆向工程工具实践:Android应用反编译入门
Neo-ke
本文还有配套的精品资源,点击获取简介:JEB是一个专业的逆向工程工具,它提供了强大的分析、调试和修改Android应用字节码的功能。通过JEB工具,开发者可以对APK文件进行深度解析,包括反编译DEX文件、资源提取和字符串解密等操作。本文档通过JEBdemo下载包的介绍,展示了如何使用JEB工具进行反编译,并包括了JEB工具的启动脚本、文件列表、可执行文件、类型库、核心插件、文档以及辅助脚本。学习
- 如何在vue.config.js配置代码混淆加密、压缩?
꒰ঌ小武໒꒱
javascriptvue.js前端
在Vue项目中防止代码被反编译是一个挑战,因为JavaScript是一种解释型语言,它的源码很容易被查看或反编译。但是,你可以采取一些措施来增加反编译的难度:1、使用Webpack的UglifyJsPlugin插件进行代码混淆。2、使用JavaScript混淆器,如js-obfuscator。3、使用环境变量和条件编译来在不同环境下使用不同的代码。4、将核心逻辑通过WebWorkers或者第三方服
- python文件输出exe文件反汇编_python如何反编译exe文件
weixin_39544333
"""PyInstallerExtractorv1.8(Supportspyinstaller3.2,3.1,3.0,2.1,2.0)Author:ExtremeCodersE-mail:extremecoders(at)hotmail(dot)comWeb:https://0xec.blogspot.comDate:28-April-2017Url:https://sourceforge.net
- 多线程编程指南 part 2
iteye_17686
数据结构与算法shell数据库
多线程编程指南SunMicrosystems,Inc.4150NetworkCircleSantaClara,CA95054U.S.A.文件号码819–7051–102006年10月版权所有2005SunMicrosystems,Inc.4150NetworkCircle,SantaClara,CA95054U.S.A.保留所有权利。本文档及其相关产品的使用、复制、分发和反编译均受许可证限制。未经
- 逆向工程学习记录:反汇编反编译
564983
逆向工程学习
程序编译成二进制(指令集)计算机是如何读懂二进制的1.计算机外置存储硬盘:非易失性存储器,解决了大量内容需要长久存储的问题(你可以自备多块硬盘,存储各种内容)内存:主要解决CPU无法存储大量信息,但又要处理大量信息(硬盘里的)而出现,主要是为了提升速度,此后在内存基础上又发展出了cache。一般来说,内存存储的是近期需要的内容。注意:以二进制形式存储(苏联有过三进制的计算机,即计算机选用二进制性价
- CAS单点登录客户端--C++版
前言:如果用java来写一个单点登录的CAS客户端,是很容易实现的,只要导入相关的jar包,再按要求配置就好了,关于java的单点登录的实现,在我前边的几篇文章中有重点描述,有兴趣的童鞋可以去看看。最近要做一个c++版的单点登录的客户端,在网上搜了一下,没有找到,所以只好自己想办法写了。1.单点登录原理为了了解单点登录的原理,我反编译了java版客户端jar包cas-client.jar代码,以下
- Python 打包加密
fghjbjhgb
python开发语言
Python转c用于加密使用Cython将Python代码编译为C扩展,可以生成较难反编译的二进制文件。以下是将Python代码用Cython编译为C扩展的步骤:安装Cython首先,需要安装Cython。可以通过pip安装:pipinstallcython编写Python脚本假设你有一个Python脚本,文件名为my_script.py。创建setup.py文件接下来,需要创建一个setup.p
- java class文件反编译
o_瓜田李下_o
java1024程序员节
javaclass文件反编译作用:class文件是二进制字节流,对class文件进行反编译可方便查看************************源文件Test.javapublicclassTest{publicstaticvoidmain(String[]args){String[]s={"hello","hello2"};System.out.println(s[0]+""+s[1]);S
- 如何将java中class文件反编译成java文件[Java]
ssqmeng
javaclass反编译工具path
jad:反编译工具下载jad:反编译工具可以将class文件反编译成java文件假设将jad.exe安装在f:/java/jad目录下把要反编译的文件*.class复制到此目录下,接着接以下步骤,在命令行窗口环境中进入jad目录,然后运行:jad-sjava*.class(附,*.class指要反编译的文件名)如果*.class文件和jad程序不在同一个目录,就要用到path环境变量,将jad所在
- JAVA之CLASS文件反编译
super_birdcai
JavaF#
有时候会遇到个很郁闷的情况,源代码没了,又想看原来的代码是如何实现的。我就遇到过好几次,无奈就到处搜罗反编译的方法。下了很多软件,要么要注册的,要不就是干吗干吗的。弄到最后总算明白,这些软件都是基于一个jad.exe做的。敲入如下命令就可以对二进制文件进行反编译。jad-o-r-dF:\src-sjavaF:\classes\**\*.class前面是生成的源文件位置后面是目标文件位置-o-ove
- 安卓漏洞(apk破解总览)
安卓常见漏洞有,APK破解、不安全的用户数据存储、任意备份漏洞、不安全的数据传输、不安全的加密算法、组件导出拒绝服务漏洞等,我们这次主要研究的是apk破解APK的破解主要有apk篡改(二次打包与重签名)、反编译(dex反编译、so反编译)、动态调试(java层动态调试、native层动态调试)、动态注入(java层动态注入、native层态注入)一、APK篡改二次打包、重签名二次打包(缺少自身文件
- iOS 应用如何防止源码与资源被轻易还原?多维度混淆策略与实战工具盘点(含 Ipa Guard)
2501_91601374
httpudphttpswebsocket网络安全网络协议tcp/ip
在当今iOS应用开发中,安全已不仅限于接口加密、用户认证,而延伸到了“安装包本体”的结构保护。尤其在应用发布或分发后,任何人都可以下载IPA文件并进行反编译、静态分析,一旦类名、方法名、资源结构暴露,就可能被仿制、篡改,甚至造成用户和数据安全风险。这篇文章,我不会只推荐一个工具,而是分享一套我们团队在多个项目中验证过的**“多维度App安全混淆策略”,包括源码层、构建层、IPA层的组合方法,并实际
- Python爬虫(46) Python爬虫进阶:多线程异步抓取与WebAssembly反加密实战指南
一个天蝎座 白勺 程序猿
Python爬虫入门到高阶实战python爬虫wasm
目录引言:当传统爬虫遭遇新型反爬壁垒背景分析:现代反爬技术的演进路径1.前端加密的三种典型方案2.传统爬虫的局限性技术架构设计:三阶突破方案阶段一:性能跃迁——多线程异步架构1.concurrent.futures多线程实战2.aiohttp异步框架进阶阶段二:反爬突破——WebAssembly逆向工程1.加密参数定位技巧2.WebAssembly逆向六步法2.1提取wasm文件:2.2反编译工具
- 安卓逆向篇&JEB 反编译断点&动态调试&加密算法还原&逻辑会员绕过
我最厉害。,。
android
#APK逆向-反编译&动态调试-Jeb&Adb0、模拟器开发者模式-启用开发者模式(快速单击5次关于平板电脑版本)-系统-高级-开发者选项-启用USB调试模式-模拟器设置里面开启root及磁盘共享可写入0、Jeb环境配置-安装Jdk11,加入环境变量JAVA_HOME保证启动Jeb工具时使用的是JDK11即可-安装ADB,加入环境变量Android保证启动Jeb工具时使用的是ADB即可Jeb激活:
- 2025年程序编译打包技术权威指南(全平台覆盖)
zdicn2025
pythonjavajavascriptyapidocker
一、核心打包技术体系程序编译打包是将源代码转换为可执行文件或安装包的过程,涉及依赖管理、资源整合、编译优化、安全加固四大核心环节。根据技术栈差异,主要分为以下类别:技术栈典型打包方式核心目标关键挑战PythonPyInstaller/Nuitka单文件/跨平台可执行文件依赖隔离、反编译防护JavaMaven/Gradle+JAR/WAR平台无关的类库/应用部署多模块依赖管理JavaScriptWe
- 记录一次抓包实战,全局代理+xposed+frida绕过各种坑点
韭零后程序猿
python黑科技抓包fridaxposed全局代理postern
遇到的问题apk使用了360加固,无法反编译apk没有走系统代理,导致设置wifi代理抓不到包问题1解决办法:使用FRIDA-DEXDump工具直接从内存dump出dex包,然后使用jadx-gui-1.1.0-with-jre-windows工具打开dex文件查看代码FRIDA-DEXDUMPgithub链接jadx-gui网上比较多,自行百度下载需要先按照frida,自行百度下载安装问题2解决
- reserve学习笔记(花指令)
hmbbcsm
学习笔记
这是闲来无事逛博客时看到的一篇相关文章,觉得挺有意思。定义首先花指令其实就是没有用的指令(垃圾指令),它穿插在真正的代码中,会导致反编译时出现问题,从而会影响我们的静态分析分类以及讲解花指令分为两种,其中一种为可执行花指令,另一种为不可执行花指令。可执行花指令:顾名思义,就是该指令可以执行,但是执行后的结果是没有意义的,不会对寄存器的值产生任何影响,它仅仅是为了增加逆向工程师的工作量。不可执行花指
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found