- 阅读《一文让你彻底理解LeakCanary的工作原理》
普通的程序员
原文地址https://mp.weixin.qq.com/s/UfxG41HInNfv9nkDvKpcZQ『尝试去清除一次activity的key队列,然后检测被destroy的activity是否已经被回收,如果没有被回收,也不一定发生了泄漏,因为可能还没有进行过gc,所以我们手动进行了一次gc,然后再次检测该activity对应的key是否还在key队列,如果还在,那么就说明发生了泄漏』两次g
- Android内存泄漏检测之LeakCanary2.0(Kotlin版)的实现原理
vivo互联网技术
一、概述LeakCanary是一款非常常见的内存泄漏检测工具。经过一系列的变更升级,LeakCanary来到了2.0版本。2.0版本实现内存监控的基本原理和以往版本差异不大,比较重要的一点变化是2.0版本使用了自己的hprof文件解析器,不再依赖于HAHA,整个工具使用的语言也由Java切换到了Kotlin。本文结合源码对2.0版本的内存泄漏监控基本原理和hprof文件解析器实现原理做一个简单地分
- android 卡顿定位
Ghost2019
工具:1.真机GPU呈现模式分析作用:判断哪些操作耗时过长2.真机调试GPU过度绘制作用:显示绘制层级3.ASprofile作用:查看内存流量cpu电量使用情况4.打包LeakCanary作用:检测内存泄漏5.打包友盟统计、bugly作用:检测崩溃上传信息
- 内存监控LeakCanary1.6.1使用和原理分析
Vinson武
使用LeakCanary的集成过程很简单,首先在build.gradle文件中添加依赖:dependencies{debugImplementation'com.squareup.leakcanary:leakcanary-android:1.6.1'releaseImplementation'com.squareup.leakcanary:leakcanary-android-no-op:1.6
- Android 内存泄露及LeakCanary分析
行知致简
[Mobile]Androidandroidjava开发语言
Android内存泄露及LeakCanary分析一.前言在日常的Android开发中,不经意间就会造成内存泄露,如果持续泄露的话,那么最后会造成内存溢出,应用也就崩溃了。内存泄露与内存溢出是老生常谈的问题,在这里还是看一下官方对两者的定义:内存泄漏(MemoryLeak):是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
- adb查找内存泄露
我家造地球
在网上看到大部分都是集成LeakCanary来查找内存泄露,这种方式有代码的入侵性,个人不太喜欢。所以今天跟大家分享一下我经常使用的方式来查找内存泄露正文开始1.打开app跑monkey-v后面都数据随便自己设定,数值越大,跑的时间越久adbshellmonkey-p包名-v1000002.当monkey结束后,点返回键一直退回到app主页面//可以等待几秒钟后执行多次,然后看Activities
- LeakCanary使用详细教程(附Demo)
皓皓amous
在Android的性能优化中,内存优化是必不可少的点,而内存优化最重要的一点就是解决内存泄漏的问题,在Android的内存泄漏分析工具也不少,比如PC端的有:AndroidStudio自带的AndroidProfiler、MAT等工具;手机端也有,就是我们今天要介绍的LeakCanaryLeakCanary简介LeakCanary是Square公司为Android开发者提供的一个自动检测内存泄漏的
- kotlin的一些资料(文档和视频)
tommyRen
首次尝试使用Kotlin实现了项目其中的一个功能模块Kotlin已经作为Android官方开发语言并且Jakewarton大神(leakCanaryOkHttpRetrofitRxJava都是他的杰作)都评价很高在GoogleI/O大会分享了Kotlin的特色。毫无疑问Kotlin肯定有厉害之处。具体有哪些厉害之处呢?我给大家发几个图看下:我把我认识的App圈了出来大家可能会说微信怎么也是Kotl
- LeakCanary解析
就叫汉堡吧
概述LeakCanaryisamemoryleakdetectionlibraryforAndroid.LeakCanary官网当我们需要排查应用的内存泄露问题时,通常的做法是通过AndroidStudio的Profiler或者其他图形化分析工具查找当某个实例销毁时gc后内存曲线没有显著的场景,然后dump它的hprof来分析。LeakCanary则是通过代码“hook”的方式来实现疑似内存泄露的
- LeakCanary原理从0到1
d袋鼠b
AndroidJVM虚拟机AndroidLeakCanary内存分析
文章目录引用分类强引用软引用弱引用虚引用LeakCanary理论依据源码解析LeakCanary2.0的初始化放在了自带的ContentProvider中:为了使文章尽量通俗易懂。在探究LeakCanary之前,有必要补充些Java引用的知识。引用分类强引用强引用是使用最普遍的引用。一个对象具有强引用,则在GC发生时,该对象将不会回收。当Jvm虚拟机内存空间不足时,虚拟机会抛出OutOfMemor
- LeakCanary原理解析
Androider_Zxg
Android开发AndroidLeakCanary
前几天面试,问到了我内存泄漏的相关问题,顺其自然问到了内存泄漏的检测工具LeakCanary的工作原理。当时不会,在看了几篇博文后,明白了其中的道理,理一下思路记录在此。准备知识ReferenceQueue引用队列,对于弱引用和软引用来说,若需要知道该引用是否已被GC回收,那么在构造WeakReference或SoftReference时,传入一个ReferenceQueue。那么当这个引用被回收
- LeakCanary源码深入学习
narkang
android
说到内存泄漏检测工具基本都知道用LeakCanary,它可以用来检测Activity和Fragment是否发生内存泄露,并且自动弹出通知告知用户是否发生了内存泄漏,且最终以UI的形式向我们展示内存泄漏对象的引用链,以便我们能精确的定位到内存泄漏的代码。但是我们不能只局限于表面,也应该去学习其源码的实现,LeakCanary的强大不仅在于能够精确定位内存泄漏代码的具体位置,也在于里面设计的模块分明,
- 大厂资深架构师解析Okhttp源码,深入底层探究原理
移不动开发技术
androidjava
作者:JsonChao接下来陪大家深入分析目前Android中大部分的主流开源框架源码,从而能够让我们真正地去理解这些优秀开源框架背后的思想,真真切切地提升自己的内功。目前,这一系列的分析顺序如下:主流三方库:网络:1、OKHttp2、Retrofit图片:3、Glide数据库:4、GreenDao响应式编程:5、RxJava内存泄露:6、LeakCanary依赖注入:7、ButterKnife8
- 深入探究 Android 内存泄漏检测原理及 LeakCanary 源码分析
Just_Paranoid
Androidandroidleakcanaryoom
深入探究Android内存泄漏检测原理及LeakCanary源码分析一、什么是内存泄漏二、内存泄漏的常见原因三、我为什么要使用LeakCanary四、LeakCanary介绍五、LeakCanary的源码分析及其核心代码六、LeakCanary使用示例一、什么是内存泄漏在基于Java的运行时中,内存泄漏是一种编程错误,它会导致应用程序保留对不再需要的对象的引用。因此,为该对象分配的内存无法回收。例
- LeakCanary原理 弱引用与垃圾回收
学知识拯救世界
androidedgeandroid
LeakCanaryLeakCanary通过hookAndroid的生命周期来自动检测Activity和Fragment何时被销毁,何时应该被垃圾回收,这些被destroy的对象被传递给ObjectWatcher,ObjectWatcher持有对它们的弱引用检测对象类型已销毁的Activity实例销毁的Fragment实例销毁的FragmentView实例已清除的ViewModel实例弱引用与垃圾
- Android:主流三方库源码教你快速上手Leakcanary
bug音音
一、原理概述首先,笔者仔细查看了Leakcanary官方的github仓库,最重要的便是对Leakcanary是如何起作用的(即原理)这一问题进行了阐述,我自己把它翻译成了易于理解的文字,主要分为如下7个步骤:1、RefWatcher.watch()创建了一个KeyedWeakReference用于去观察对象。2、然后,在后台线程中,它会检测引用是否被清除了,并且是否没有触发GC。3、如果引用仍然
- LeakCanary 最新版 2.12 内存泄露工具使用
jiet_h
小tipsandroid
1.在使用LeakCanary之前,我们需要添加下面的依赖:dependencies{//debugImplementation是因为LeakCanary应该只工作在debug编译环境.debugImplementation'com.squareup.leakcanary:leakcanary-android:2.12'}2.如果我们需要观察LeakCanary是否启动,只需要在日志中过滤Leak
- 虚引用的使用
Parallel_Lines
虚引用相信大家都知道他的作用,但是由于平时不常用,所以实际上手有点困难。本文目的通过学习虚引用的使用,敲开LeakCanary源码学习的大门。使用虚引用检测对象被回收虚引用必须与ReferenceQueue一起使用,当GC准备回收一个对象,如果发现它有虚引用,就会在回收之前,把这个虚引用加入到与之关联的ReferenceQueue中。利用这个原理,我们可以检测到对象何时被回收。下面通过测试代码,说
- Android内存泄露检测 LeakCanary2.0(Kotlin版)的实现原理
陈二狗想吃肉
一、概述LeakCanary是一款非常常见的内存泄漏检测工具。经过一系列的变更升级,LeakCanary来到了2.0版本。2.0版本实现内存监控的基本原理和以往版本差异不大,比较重要的一点变化是2.0版本使用了自己的hprof文件解析器,不再依赖于HAHA,整个工具使用的语言也由Java切换到了Kotlin。本文结合源码对2.0版本的内存泄漏监控基本原理和hprof文件解析器实现原理做一个简单地分
- Leak Canary 源码快读
天空树树树
结构LeakCanary内部分为三个包,分别是AndroidAnalyzeWatcherandroid包内部为主控逻辑部分以及平台api相关逻辑。watcher包的功能为监控某个对象的内存引用释放情况。analyzer包负责处理watcher后dump出的内存文件。haha是另外一个开源工程,内存文件的处理都依赖这个库。关键逻辑及流转通过ActivityLifecycleCallbacks监听ac
- 内存之-LeakCanary
Android西红柿
Android性能性能优化leakcanary面试
关于作者:CSDN内容合伙人、技术专家,从零开始做日活千万级APP。专注于分享各领域原创系列文章,擅长java后端、移动开发、人工智能等,希望大家多多支持。目录一、导读二、概览三、使用四、原理分析4.1自动初始化4.1.1初始化4.2LeakCananry自动检测步骤4.2.1检测泄漏4.2.2dump4.2.3shark分析4.2.4生成报告五、推荐阅读一、导读我们继续总结学习基础知识,温故知新
- Leakcanary原理解析
竖起大拇指
1.前言LeakCanary是Android内存泄漏的框架,作为一个“面试常见问题”,它一定有值得学习的地方,今天我们就讲一下它。作为一名开发,我觉得给人讲框架或者库的原理,最好先把大概思路说一下,这样比较容易理解:其思路大致为:监听Activity生命周期->onDestroy以后延迟5秒判断Activity有没有被回收->如果没有回收,调用GC,再次判断是否回收,如果还没回收,则内存泄露了,反
- 2020Android面经,历时一个半月,斩获3个大厂offer,kotlin打包成exe
m0_66144992
程序员架构移动开发android
讲下leakCanary原理。为什么不用虚引用?引用队列里面存的是什么?内存数据是如何dump出来的?讲下OkHttp的实现。拦截器的顺序,网络拦截器和普通拦截器有什么区别?它的线程池是怎样的?如何管理的?glide的三级缓存如何做的?rxjava的原理。rxjava的线程切换如何实现的?map和flatmap操作符区别;zip和merge操作符区别。ArrayMap和SparseArray的作用
- 源码分析:LeakCanary 如何实现内存泄露监测
ImWiki
LeakCanary是一个非常强大的内存泄露监测工具,可以实现打印内存泄露的信息。Android的内存泄露检测主要是对Activity的回收情况检测,如果Activity调用了onDestroy方法,没有及时回收就是意味着出现了内存泄露,AndroidStudio提供的内存泄露工具就是通过这种方式实现的,然后通过dump分析对应的依赖情况,LeakCanary的原理也是如此,下面我们通过源码分析来
- LeakCanary相关
Infinity_空
检查内存泄漏原理当构造一个弱引用对象(KeyedWeakReference)时,并把ReferenceQueue引用队列作为参数传入。当系统发生GC时,如果对象被正确回收,那么ReferenceQueue中不为null,即没有发生内存泄漏。如果ReferenceQueue中为null,则发生了内存泄漏。一个对象的引用方式可以分为四种:强引用(StrongReference):JVM宁可抛出OOM也
- 内存优化(一)
Dear月
分析内存常用工具top/procrankmeinfoProcstatsDDMSMATFinder-ActivityLeakCanaryLeakInspector工具很多,掌握原理方法,工具随便找两个能用就行1、Java虚拟机简单讲解一下image.pngimage.png线程私有程序计数器(PC)相当于一个执行代码的指示器,用来确认下一行执行的代码的地址,每个线程都有一个,没有OOM的区虚拟机栈存
- Leakcanary - hprof分析库shark 源码分析
stone_cold_cool
android内存泄漏
shark是leakcanary2.0之后引入的hprof分析库,代替了haha,在leakcanary中所处的位置如下图所示,包括shark-hprof,shark-graph,shark,shark-android四个模块shark-hprof用于读取hprof文件,解析hprof,里边定义了hprof数据格式,和java的类,对象,基本数据类型一致shark-graph用于索引hprof,找
- 性能优化中使用Profiler进行内存泄露的排查及解决方式
Mr_Tony
性能优化性能优化
文章目录一、前言二、内存泄露的排查方式三、参考链接一、前言对于常规意义上的线程使用要及时关闭,数据库用完要及时关闭,数据用完要及时清空等等这里不再赘述,但是在开发中总会有不熟悉的api,开发进度过快,开发人员粗心等等原因导致内存泄露。可以使用leakcanary(参考链接:https://square.github.io/leakcanary/)内存检测处理,或者使用lint(参考链接:https
- 性能优化中使用Profiler进行页面卡顿的排查及解决方式
Mr_Tony
性能优化性能优化
文章目录一、前言二、页面卡顿的排查方式1、耗时操作的监控2、页面卡顿的监控三、参考链接一、前言程序的优化在做过线上bug处理,布局层级优化,项目依赖库版本更新,重复库合并,删除未使用的资源,删除冗余的库,避免因为一个类而引入一个库的问题,leakcanary(参考链接:https://square.github.io/leakcanary/)内存检测处理,lint(参考链接:https://dev
- LeakCanary内存泄漏检测工具
阿拉呵呵里拉_
性能优化内存泄漏
首先来说一下我再项目中遇到的内存泄漏的问题:公司一个上线很久的项目突然有用户反馈使用程序时间就了手机就变得很卡。额,这不是内存泄漏嘛!但是由于这个旧项目不是笔者开发并且没有改过其中的问题。突然来一任务就要解决内存泄漏的问题,当时笔者内心是很拒绝的,但是身为一个负责任的程序员就不能说“不”。之前用过LeakCanary检测内存泄漏,这次依然使用的是LeakCanary。不检测不知道一检测吓一跳,程序
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http