- iOS 私有 API 问题
游城十代2dai
最近APP被拒,是因为如下私有API被拒0x00使用iOS-private-api-checker工具我没用明白,别人的db,太老了,自己制作db的时候两个问题一个是PrivateFrameworks和'文档'没有找到路径0x01APPScanner也没有成功0x02命令辅助使用strings命令,字符串问题其实可以直接工程搜索//Yesoul-iphone是app的mach-o文件....._U
- fishHook简单使用
苍天兄弟
fishHook是Facebook提供的一个动态修改连接Mach-O文件的工具。利用Mach-O文件的加载原理,通过修改懒加载和非懒加载两个表(通过MachOView查看Mach-O文件)的指针达到C函数HOOK的目的。fishHook地址:https://github.com/facebook/fishhookfishHook的2个方法rebind_symbols函数和rebind_symbol
- 5、iOS强化 --- 链接与符号(补充内容)
Jax_YD
上一篇文章4、iOS强化---链接与符号(Symbol)中我们提到了链接链接的本质就是把多个目标文件组合成一个文件但是有一些地方说的不够详细,这里我们做一下补充。首先我们知道,在生成.o目标文件的过程中,链接器(llvm-ld)并没有被执行,这个过程就是编译的过程。那么llvm-ld在哪里执行呢?答案:在最终生成Mach-O文件的过工程中被执行。过程如下:image.png1、多个目标文件合并2、
- iOS 逆向开发03:函数本质上
differ_iOSER
iOS逆向开发文章汇总目录一、函数的参数和返回值二、函数的局部变量三、状态寄存器一、函数的参数和返回值ARM64下,函数的参数是存放在X0到X7(W0到W7)这8个寄存器里面的。如果超过8个参数,就会入栈,利用内存传递参数。函数的返回值是放在X0(W0)寄存器里面的,如果返回值大于8个字节(指针大小=8字节),就会利用内存传递返回值。因此C语言函数建议不超过8个参数,OC函数建议不超过6个参数(O
- class-dump的安装和使用
瞬csr
用来dump目标文件的class信息的工具。它利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@protocol信息提取出来,并生成对应的.h文件。安装步骤1、下载地址:http://stevenygard.com/projects/class-dump/2、打开终端输入open/usr/local/bin3、把dmg文件中的class-du
- iOS 逆向开发07:OC方法汇编
differ_iOSER
iOS逆向开发文章汇总目录一、查看OC方法汇编二、使用反汇编工具分析汇编三、Block反汇编一、查看OC方法汇编准备如下代码://Person.h@interfacePerson:NSObject@property(nonatomic,copy)NSString*name;@property(nonatomic,assign)NSIntegerage;+(instancetype)person;@
- iOS逆向之腾讯视频广告篇
暴躁键盘侠
本文章主要是实现在非越狱机上去掉腾讯视频广告的一个功能,仅供学习交流!!!一、获取褪壳app首先我们需要一个去壳的ipa文件,以前在PP助手可以下载。但是后来PP助手不能用了,也没找到其他地方下载,只能自己动手了。下面推荐三种去壳的方式:Clutchdumpdecryptedfrida-ios-dump。过程在此不多做赘述,下面是我的使用心得。Clutch:失败率比较高,对几个小app砸壳成功,对
- iOS基础 - 从点击应用图标说起
Super_Luis
iOS从点击一个应用图标到程序主页面显示出来经历了哪些过程呢?我们可以把启动过程分为main函数之前和main函数之后两个部分。main函数之前1.加载可执行文件2.加载动态链接库加载器dyld3.dyld递归加载dylibsdyld加载过程我们首先学习dyld加载过程,主要分5个部分。可以参考这里。image1.Loaddylibs解析所依赖的dylibs找到所需的mach-o文件打开和读取文件
- ARM汇编基础(iOS逆向)
编程怪才_凌雨画
ARM汇编基础在逆向一个功能的时候,往往需要分析大量的汇编代码,在iOS逆向中,ARM汇编是必须掌握的语言,本文总结了ARM汇编的基础知识,如果你想了解更多,请参考狗神的小黄书《iOS逆向逆向工程》或ARM官方手册.寄存器,内存和栈在ARM汇编里,操作对象是寄存器,内存和栈ARM的栈遵循先进后出,是满递减的,向下增长,也就是开口向下,新的变量被存到栈底的位置;越靠近栈底,内存地址越小一个名为sta
- iOS开发进阶二:MACH-O与Symbol
轰天裂天罗三炮
什么是MACH-O?Mach-O(MachObject)是macOS、iOS、iPadOS存储程序和库的文件格式。对应系统通过应用二进制接口(applicationbinaryinterface,缩写为ABI)来运行该格式的文件。Mach-O格式用来替代BSD系统的a.out格式。Mach-O文件格式保存了在编译过程和链接过程中产生的机器代码和数据,从而为静态链接和动态链接的代码提供了单一文件格式
- iOS逆向工程之Hopper中的ARM指令
编程怪才_凌雨画
一、Hopper中的ARM指令ARM处理器就不多说了,ARM处理器因为低功耗等原因,所以大部分移动设备上用的基本上都是ARM架构的处理器。当然作为移动设备的Android手机,iPhone也是用的ARM架构的处理器。如果你想对iOS系统以及你的应用进一步的了解,那么对ARM指令集的了解是必不可少的,ARM指令集应该也算得上是iOS逆向工程的基础了。当你使用Hopper进行反编译时,里边全是ARM的
- iOS逆向之fishHook原理探究
WinJayQ
HOOK原理1、MachO是被谁加载的?DYLD动态加载2、ASLR技术(地址空间布局随机化):MachO文件加载的时候是随机地址3、PIC(位置代码独立)如果MachO内部需要调用系统的库函数时先在_DATA段中建立一个指针,指向外部函数DYLD会动态的进行绑定,将MachO中的DATA段中的指针,指向外部函数(DYLD会告诉MachO要依赖的外部库的位置)_DATA段中建立的指针就是符号(sy
- iOS 逆向开发11:iOS应用签名原理
differ_iOSER
iOS逆向开发文章汇总目录一、代码签名二、双层代码签名三、描述文件一、代码签名代码签名是对可执行文件或脚本进行数字签名。用来确认软件在签名后未被修改或损坏的措施。和数字签名原理一样,只不过签名的数据是代码而已。简单的代码签名在iOS出来之前,以前的主流操作系统(Mac/Windows)软件随便从哪里下载都能运行,系统安全存在隐患,盗版软件,病毒入侵,静默安装等等.那么苹果希望解决这样的问题,要保证
- iOS逆向之Method Swizzle
WinJayQ
题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~准备工作非越狱的iPhone手机用PP助手下载:微信6.6.5(越狱应用)MachOViewyololibclass-dump学习这篇文章之前应该要对runtime有些了解,参考:https://www.jianshu.com/p/927c8384855a参考iOS逆向之代码注入(
- iOS 逆向开发08:RSA加密
differ_iOSER
iOS逆向开发文章汇总目录一、RSA终端操作演示二、RSA代码加解密RSA用途三、密码学四、RSA数学原理五、RSA原理总结一、RSA终端操作演示Mac的终端可以直接使用OpenSSL进行RSA的命令运行。OpenSSL使用RSA由于Mac系统内置OpenSSL(开源加密库),所以我们可以直接在终端上使用命令来玩RSA.OpenSSL中RSA算法常用指令主要有三个:命令含义genrsa生成并输入一
- iOS逆向:函数本质(上)
iOS鑫
本文的主要目的是理解函数栈以及涉及的相关指令在讲函数的本质之前,首先需要讲下以下几个概念栈、SP、FP常识栈栈:是一种具有特殊的访问方式的存储空间(即先进后出LastInOutFirst,LIFO)高地址往低地址存数据(存:高-->低)-栈空间开辟:往低地址开辟(`开辟:高-->低`)复制代码SP和FP寄存器SP寄存器:在任意时刻会保存栈顶的地址FP寄存器(也称为x29寄存器):属于通用寄存器,但
- ios逆向工程-静态分析
RoyalMjz
iOSios开发objective-c
最近在学习IOS逆向工程,查看网络上的资料也不是太多,边学边总结一下。首先学习资料:念茜(大神)的博客:http://nianxi.net《ios应用逆向工程分析与实战》----------------------------------------------------凌乱的分割线------------------------------------------其次讲讲要用到的工具(ios安
- 03-什么是Mach-O文件?
大黄_黄
iOS逆向iosswiftobjective-c
App从开发到安装到手机上的过程想要了解Mach-O文件,首先要了解从编写代码,开发App到App打包并安装到手机上的整个过程首先代码经过编译、链接、签名获得一个“xxx.app”包,app包里面就装着nib文件、资源文件以及可执行文件(Mach-O文件),我们编写的代码其实就放在这个Mach-O文件里面然后经过zip压缩,将app包转成ipa包,而ipa包就可通过以下几个途径可以装到手机里上传至
- ios逆向工具Class-dump的安装和导出.h文件的教程
小手琴师
ios逆向ios逆向classdumpclass-dump
目录官网文件安装方法运行报错CannotfindoffsetforaddressxxxinstringAtAddress:解决运行报错的版本下载地址:获取app文件class-dump命令用法把信息输出到文件目录官网地址class-dump-3.5.dmg的下载地址官网文件安装方法双击安装dmg文件以后把里面的class-dump文件,复制到/usr/local/bin/目录下,这样才能在终端的命
- iOS 逆向开发09:HASH算法
differ_iOSER
iOS逆向开发文章汇总目录一、HASH概述二、用户密码加密三、数字签名四、总结一、HASH概述Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出(Hash碰撞),所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长
- Bread:一款功能强大的BIOS逆向工程和高级调试工具
FreeBuf_
github
关于BreadBread是一款功能强大的BIOS逆向工程和高级调试工具,该工具也是一个“可注入”的实模式(Real-Mode)x86调试器,可以帮助广大研究人员通过串行线缆从另一台电脑调试任意实模式代码。考虑到目前社区中很多BIOS逆向工程工具都是使用反汇编程序静态完成的,这就导致理解BIOS上下文环境会变得非常的困难,而且也无法得知给定代码中寄存器或内存的值。因此,Bread便应运而生。Brea
- 重拾iOS-编译原理
Jack1105
image关键词:LLVM,Clang,Swiftc,IR,preprocessor,Mach-O,dyld编译器把一种编程语言(原始语言)转换为另一种编程语言(目标语言)的程序叫做编译器.大多数编译器由两部分组成:前端和后端.前端负责词法分析,语法分析,生成中间代码;后端以中间代码作为输入,进行行架构无关的代码优化,接着针对不同架构生成不同的机器码。前后端依赖统一格式的中间代码(IR),使得前后
- ios逆向之Cycript报错
鸿伟x
解决方法一:
[email protected].成功后把/usr/local/Cellar/
[email protected]/2.0.0-p648_2/lib/libruby.2.0.0.dylib拷贝到Cycript.lib目录下即可解决方法二:/System/Library/Frameworks/Ruby.framework/Versions/2.3/Ruby复制到Cycript.lib目录下重命名
- IOS逆向_密码学:单向散列函数、数字签名、证书
一杯开水
1、单向散列函数;2、数字签名;3、证书;1、单向散列函数;1.1概念:又称单向Hash函数、杂凑函数,就是把任意长的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值。一般用于产生消息摘要,密钥加密等。1.2常见的单向散列函数:image1.3特性:①根据任意长度的消息,计算出固定长度的散列值;②计算速度快,能快速计算出散列值;③消息不同,散列值也不同
- ELF文件头和段表
SauronKing
程序设计-编译器编辑器
前言现代x86-64Linux和Unix系统使用可执行可链接格式(Execut-ableandLinkableFormat,ELF),与ELF同类型的文件是windows上的PE文件和MacOS-X上的Mach-O文件本篇文章讲述ELF文件的文件头和段表BSSBSS全称是blockstartedbysymbol。BSS是ELF文件中的一个段,该段存储全局未初始化的变量和局部未初始化的静态变量。之所
- iOS逆向:循环选择指针(下)
iOS鑫
本文主要讲解Switch的汇编代码Switch1、假设switch语句的分支比较少时(例如3,少于4的时候没有意义),没有必要使用次结构,相当于if-else2、各个分支常量的差值较大时,编译器会在效率还是内存进行取舍,这时编译器还是会编译成类似于if-else的结构3、在分支比较多的时候,在编译的时候会生成一个表,不同的case通过跳转表的不同地址,每个地址占四个字节。案例分析首先作为一个开发者
- iOS逆向 代码注入+Hook
Lee坚武
本文涉及内容无风险,但某信有检测BundId机制,建议不要大号登录本文是建立在应用重签名的基础上iOS逆向应用重签名+微信重签名实战1iOS逆向Shell脚本+脚本重签名2工具:yololib+class_dump3密码:8ujj一、初次注入代码注入有两种方案:通过FrameWork和dylib1.脚本重签名照着iOS逆向Shell脚本+脚本重签名1重签名2.FrameWork注入2.1新建Fra
- iOS逆向学习笔记2(CPU中的寄存器)
_从今以后_
1CPU的中的寄存器 CUP除了有控制器、运算器之外,还有寄存器,寄存器的作用就是进行数据的临时存储的,如下图所示:CPU结构图 CPU的运算速度是非常快的,为了性能CPU在内部开辟一小块临时存储区域,并在进行运算时先将数据从内存复制到这一小块临时存储区域中,运算时就在这一小块临时存储区域内进行。我们称这一小块临时存储区域为寄存器。 对于ARM64系统的CPU来说,如果寄存器以x开头则表示这
- iOS字符串硬编码混淆--mark一下
huxinwen
众所周知iOS应用在越狱设备上比较容易被逆向分析,而静态字符串的硬编码比较容易成为逆向者的突破口。因此有必要做一些字符串硬编码的混淆,如加密的对称加密key,md5的key,域名,接口名等。混淆原理因为硬编码的字符串是在可执行文件Mach-O全局的数据区,在符号表中很容易被搜索到,而字符串数组则不会。混淆方案这里采用的是直接修改源代码的方式做混淆。首先对需要混淆的字符串用宏打上标记,然后使用脚本过
- MachO文件
coder_feng
MachO文件Mach-O其实就是MachObject文件格式的缩写,是mac以及iOS上可执行文件的格式,类似于windows上的PE格式(PortableExecutable),linux上的elf格式(ExecutableandLinkingFormat)Mach-O文件格式Mach-O为MachObject文件格式的缩写,它是一种用于可执行文件,目标代码,动态库的文件格式。作为a.out格
- 插入表主键冲突做更新
a-john
有以下场景:
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。
问题:
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。
解决:
mysql中提供了一个sql语
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
Cb123456
@+@?@*
一.@代表引用资源
1.引用自定义资源。格式:@[package:]type/name
android:text="@string/hello"
2.引用系统资源。格式:@android:type/name
android:textColor="@android:color/opaque_red"
- 数据结构的基本介绍
天子之骄
数据结构散列表树、图线性结构价格标签
数据结构的基本介绍
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。
经典的数据结构大致如下:
一:线性数据结构
(1):列表
a
- 通过二维码开放平台的API快速生成二维码
一炮送你回车库
api
现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。
html代码如下:(二维码将生成在这div下)
? 1
&nbs
- ImageIO读取一张图片改变大小
3213213333332132
javaIOimageBufferedImage
package com.demo;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @Description 读取一张图片改变大小
* @author FuJianyon
- myeclipse集成svn(一针见血)
7454103
eclipseSVNMyEclipse
&n
- 装箱与拆箱----autoboxing和unboxing
darkranger
J2SE
4.2 自动装箱和拆箱
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。
4.2.1 autoboxing和unboxing
在Java中,所有要处理的东西几乎都是对象(Object)
- ajax传统的方式制作ajax
aijuans
Ajax
//这是前台的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+
- 只用jre的eclipse是怎么编译java源文件的?
avords
javaeclipsejdktomcat
eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢?
&nb
- 前端模块化
bee1314
模块化
背景: 前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。 JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所
- 处理百万级以上的数据处理
bijian1013
oraclesql数据库大数据查询
一.处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o
- mac 卸载 java 1.7 或更高版本
征客丶
javaOS
卸载 java 1.7 或更高
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
成功执行此命令后,还可以执行 java 与 javac 命令
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
成功执行此命令后,还可以执行 java
- 【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析
bit1129
Stream
第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中
第二部,Spark Streaming读取Kafka中的数据,进行实时分析
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f
- Erlang vs TNSDL
bookjovi
erlang
TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,
- 非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个
ljy325
企业应用
非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。
相关新闻:
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁
- 读《研磨设计模式》-代码笔记-原型模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
* 1.public Product copy(Product p){}
* 2.publi
- 配置管理---svn工具之权限配置
chenyu19891124
SVN
今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构
pepos
component
webapps
在conf里面的auth里赋予的权限配置为
[groups]
- 浅谈程序员的数学修养
comsci
设计模式编程算法面试招聘
浅谈程序员的数学修养
- 批量执行 bulk collect与forall用法
daizj
oraclesqlbulk collectforall
BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。
有关FORALL语句的用法请参考:批量SQL之 F
- Linux下使用rsync最快速删除海量文件的方法
dongwei_6688
OS
1、先安装rsync:yum install rsync
2、建立一个空的文件夹:mkdir /tmp/test
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
- Yii CModel中rules验证规格
dcj3sjt126com
rulesyiivalidate
Yii cValidator主要用法分析:
yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError
 
- 基于vagrant的redis主从实验
dcj3sjt126com
vagrant
平台: Mac
工具: Vagrant
系统: Centos6.5
实验目的: Redis主从
实现思路
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box
制作sentos6.5+redis的box
mkdir vagrant_redis
cd vagrant_
- Memcached(二)、Centos安装Memcached服务器
frank1234
centosmemcached
一、安装gcc
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:
建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......
rpm -ivh kernel-head
- Remove Duplicates from Sorted List
hcx2013
remove
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&
- Spring4新特性——JSR310日期时间API的支持
jinnianshilongnian
spring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- 浅谈enum与单例设计模式
247687009
java单例
在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。
第一种
package singleton;
public class Singleton {
//导出全局成员
public final static Singleton INSTANCE = new S
- 使用switch条件语句需要注意的几点
openwrt
cbreakswitch
1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出
int main()
{
int n = 1;
switch(n) {
case 1:
printf("--1--\n");
default:
printf("defa
- 配置Spring Mybatis JUnit测试环境的应用上下文
schnell18
springmybatisJUnit
Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有:
单元测试的app context不支持从外部properties文件注入属性
@Value注解不能解析带通配符的路径字符串
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。
第二个问题的具体实例是:
 
- Java 定时任务总结一
tuoni
javaspringtimerquartztimertask
Java定时任务总结 一.从技术上分类大概分为以下三种方式: 1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务; 说明: java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &
- 一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法
yangshangchuan
rank相似度计算文本相似度词袋模型余弦相似度
本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下:
1、注册多个账号(一般10个以上)。
2、从多个账号中选择一个账号,发表1-2篇博文