- 5.rabbitMq+springboot(gold_axe)
胖达_4b7e
发送都用RabbitTemplate第一个参数如果没有,就是发到routingKey的同名队列,就是发到默认路由器最简单队列direct只声明队列,不写绑定:发:收消费者确认(手动应答):消费者回复收到或者没收到单独的队列配置队列的声明和消费发送都和上面一样要加这么一个配置:这个队列开启消费者确认,消费者是userReceiver里面会确认消费者:这里,失败重新入队,如果就这么一个消费者在消费这个
- 3.8实战内存分配与回收策略(gold_axe)
胖达_4b7e
Java自动内存管理:1.自动给对象分配内存2.自动垃圾回收分配一般在堆的新生代,也有可能太大了,直接取老年代也有可能经过即时编译后被拆散,为标量类型并间接地在栈上分配Jvm规范未规定分配和回收的细节,各垃圾收集器的实现不同这节说的是大体上的原则3.8.1对象优先在Eden分配来对象在Eden区中分配如果不够放,就MinorGCSurvivor空间不够放,就分配担保机制先放老年代G1不用3.8.2
- 11.单表查询的索引使用[访问方法/访问类型](gold_axe)
胖达_4b7e
https://juejin.im/book/5bffcbc9f265da614b11b731/section/5c061afee51d451ddc06e7aa单表查询就是From后面只有一个表名,最简单的那种以这个表为例CREATETABLEsingle_table(idINTNOTNULLAUTO_INCREMENT,key1VARCHAR(100),key2INT,key3VARCHAR(1
- 线程池ThreadPoolExecutor,阻塞队列 (实现BlockingQueue接口的队列)(gold_axe)
胖达_4b7e
老马说编程ThreadPoolExecutor实现了生产者/消费者模式,任务队列:线程池自己维护消费者:线程池的工作者线程生产者:任务提交者当我们碰到类似生产者/消费者问题时,应该优先考虑直接使用线程池,Java并发包中线程池的实现类是ThreadPoolExecutor,↑它继承自AbstractExecutorService,实现了ExecutorService,是一个任务执行器主要好处:节约
- 4.2rabbitMq队列(gold_axe)
胖达_4b7e
Mapargs=newHashMap();channel.queueDeclare(queueName,//队列名false,//是不是持久化(mq重启后队列是不是还在):临时队列/持久队列false,//允许多个消费者消费(轮询false,//最后一个消费者断开后队列是不是删除args//其他参数);队列声明时的几个参数除了队列名有:是不是rabbitmq重启后队列还在,决定了队列是临时队列或者
- 6.rabbitmq集群(gold_axe)
胖达_4b7e
内建集群目的一个节点挂了,还能继续运行增加吞吐量复制元数据:队列名称和属性(是否持久化自动删除)交换器的名称类型属性绑定弱点但是,挂了的那个节点,里面的信息就丢脸因为集群不复制队列内容和状态为了节约空间和性能:网络开销持久化写磁盘磁盘节点高可用最好还是持久化节点分为2种:磁盘节点(高可用)内存节点集群,至少要有一个磁盘节点,就是说如果单节点一定是磁盘节点为了高可用,至少要有2个磁盘节点因为,只有一
- 4.3rabbitMq消息(gold_axe)
胖达_4b7e
消息头帧这是协议,就是说具体这些东西怎么用靠自己实现一般是如下用法expiration设置过期秒数,消息过期了就会去死信路由器,就实现了定时消息app-id是版本迭代方便:message-id,type这2个是业务上可以用就用priority是和队列的属性x-max-priority配套的原始api中是这样:典型的建造者模式Request-Response模式实际中的很多应用相当于一种一应一答的过
- 显示条件Condition await() signal()(gold_axe)
胖达_4b7e
老马说编程和Object的wait()/notify()对比Object.wait/notify有的,Condition都有wait/notify与synchronized配合使用,显式条件与显式锁配合使用。aCondition.await()--------aObject.wait()aCondition.signal()--------aObject.notify()Object.wait/n
- 0 mq(gold_axe)
胖达_4b7e
各种消息中间件性能比较差->好都支持消息持久化,但是都有性能损耗协议AMQP:rabitmq就是为AMQP而生的,ActiveMQ也支持,但是性能就不好了小公司并发低用前个就好了,ActiveMQ太老了,江河日下唯一优点是java写的RabbitMQerlang写的,语言很难,很难看源码难以深入研究,有问题难解决erlang高可用99.999%RocketMQ诞生最晚,社区活跃度低,资料少支持语言
- 4.1rabbitMq消费的拒绝和死信(gold_axe)
胖达_4b7e
消费者有问题不要慌,异常里面拒绝,让重新投递!或者还有死信消息的拒绝方式RejectNack2个方式都有一个是否消息的重新投递的参数requeue=false就是不重新入队而是死掉了Reject这样最终都会投去其他消费者如果就我一个消费者,这样重新入队重新投递就会死循环了有3个消费者,12正常3是上图的拒绝重新投递10个消息最终是1:1,4,7,10,92:2,5,8,3,63:这是因为,轮询(拒
- 3.2.rabbitMq消费者的消费方式(gold_axe)
胖达_4b7e
性能和可靠性的权衡3种消费方式:事务,拉取,Qos消费者一般使用推送,不用拉取(太慢了)批量机制可以极大提升性能事务机制一般会被遗弃单队列一般用于顺序消息,但是也丧失了高性能拉取就是轮询,很慢,一般不拉取用推送和推送一样,可以选手动和自动确认:手动确认上图中把自动确认传的false有个ack的机制,如果设置的手动确认又没有发ack,下次还能get到这条如果ack了消息就会从队列删除自动确认正常还是
- 2.rabbitMq交换器类型(gold_axe)
胖达_4b7e
交换器类型,由交换器声明的时候决定Directheaders(几乎和direct一样)不实用,可以忽略。路由器是Direct类型的话以路由键king来投递的话只有以king绑定的队列才能收到Fanout路由器是Fanout类型的话,就是广播无论以什么路由键投递无论队列以什么键绑定到路由器不管怎么发!所有队列都能收到Topic最灵活!一般用这个!”.”将路由键分为了几个标识符#代表一个或者多个标识符
- 缓存一致性MESI(gold_axe)
胖达_4b7e
用来保证cache一致性的协议,多核cpu中,多核会共享数据,对同一个变量,各自有保存一个副本,也会对副本进行更新为了都能读到真实最新的值,cpu之间又不像java里面的多线程,可以到公共的地方,就是堆里面,用堆里面一个对象来作为锁,好像一个布告栏一样,集中式控制cpu之间是像互联网一样分布式的,只能靠协议交流这就是缓存一致协议MESI协议这个协议,规定了cpu对各自的高速缓存读写时要发到总线和其
- 3.2.2可达性分析算法(gold_axe)
胖达_4b7e
这个确定对象是不是还有用,可以不可以扔掉的算法不止是Java在用,主流的商用语言都是这个基本思路:以一些GCRoots作为跟,向下搜索,走过的路径叫引用链,没走到的,就是不可达不可达的就是没用了的Java里面可作为GCRoots的虚拟机栈/本地方法栈中引用的对象就是个线程在运行的方法里面用到的对象方法区中类静态属性/常量引用的对象就是是属于类的staticfield和finalstaticfiel
- 写缓冲器 ,无效化队列 存储屏障 加载屏障 (gold_axe)
胖达_4b7e
为了结果MESI的性能弱点(要等其他cpu发来的回复),有写缓冲器,无效化队列就是除了给cpu配高速缓存外,还给它们每个配一个写缓冲器和无效队列这么用写缓冲器写的时候,发现相应缓存行的状态是S,就是共享,说明其他cpu也有副本,这时候要发无效的通知出去广播给其他cpu,本来是要等回复才能继续的,有写缓冲器就可以先在写缓冲器放下就走了,cpu可以用本来等待的时间干点活,省了等回复都到了以后,cpu再
- 高速缓存(gold_axe)
胖达_4b7e
https://book.douban.com/subject/27034721/每个cpu都有各自的高速缓存相当于一个hashtable,内存地址---数据副本或者准备写入内存的数据高速缓存,分多级,第一级一般在cpu内部,访问只要2-4个时钟内部构造每个cpu都有各自的高速缓存相当于一个hashMap,内存地址---数据副本或者准备写入内存的数据内部结构也像hashMap缓存条目缓存条目是读写
- 倒计时门栓CountDownLatch(gold_axe)
胖达_4b7e
大概含义是指,它相当于是一个门栓,一开始是关闭的,所有希望通过该门的线程都需要等待,然后开始倒计时,倒计时变为0后,门栓打开,等待的所有线程都可以通过,它是一次性的,打开后就不能再关上了。主要用于不同角色线程间的同步,比如在"裁判"-"运动员"模式中,"裁判"线程让多个"运动员"线程同时开始,也可以用于协调主从线程,让主线程等待多个从线程的结果。https://mp.weixin.qq.com/s
- 线程同步容器(用Collections..synchronized同步的(gold_axe)
胖达_4b7e
老马说编程ArrayList->Vector,StackHashMap->HashTable(key‘value不能为null)Collections.synchronizedXXX(List,Set,Map)如Listlist=Collections.synchronizedList(Lists.newArrayList());里面每个用synchronized同步性能较低,不如专为并发设计的容
- TCP三次握手(gold_axe)
胖达_4b7e
应用程序(浏览器)调用Socket库的connect:connect(,,…)浏览器提供了服务器的IP地址和端口号(这能唯一标识一个进程,这模式叫Socket),这些信息会传递给协议栈(操作系统的网络控制软件叫作协议栈)中的TCP模块。然后就开始三次握手:TCP为了提供可靠的传送,客户端和服务端先发送无内容只有头部的包,来确认能力没问题,这样就证明连接是通的,可以正式发数据了.并且核对了Seq值有
- jenkins初始密码,插件下载慢,指定分支,只拉取指定文件夹,post请求触发传参,权限,,写批处理命令 windows传文件到linux[gold_axe]
胖达_4b7e
官网下载双击安装后台运行端口指定9999nohupjava-jarjenkins.war--httpPort=9999&初始admin密码在C:\Users\用户\.jenkins\secrets\initialAdminPassword插件安装慢换中国源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.jsong
- 动态主机配置协议(DHCP)(gold_axe)
胖达_4b7e
动态主机配置协议:局域网内自动分配IP的协议,只要配置好一段共享的IP地址就能自动分配IP,不用一个个主机设IP这么麻烦了搜索新来的机器发送了一个广播包广播MAC是ff:ff:ff:ff:ff:ff,广播IP为255.255.255.255自己IP地址写0.0.0.0目的IP写广播IP:255.255.255.255DHCP是BOOTP的增强版,但是如果你去抓包的话,很可能看到的名称还是BOOTP
- ThreadLocal(gold_axe)
胖达_4b7e
ThreadLocalThreadLocalThreadLocal.ThreadLocalMapThreadLocalMap是Thread里面一个以ThreadLocal为key的map,因为一个线程可能有多个ThreadLocal给ThreadLocal实例set值就是threadLocal.currentThread.threadLocalMap.set(threadLocal,value)可
- TDengine一些概念记录(gold_axe)
胖达_4b7e
超级表:先定义超级表不同的采集点,实际表结构是一样的就是超级表的表结构按超级表来统计,用不同的标签区分不同的表标签列的值属于表的原数据不保存在表的数据节点中,而是通过超级表保存在元数据里只在聚合统计时用到,从表里面查不到标签表:一个采集点,一张表除非有多组采集量多种采集频次每个采集点单独建表,存储上是一块连续的空间,减少随机读,只有一个写入者,不用锁没有自定义索引,只有对时间戳的自动建立的索引虚拟
- 20.事务简介(gold_axe)
胖达_4b7e
概念事务:需要满足ACID是数据库操作Atomictiy原子性Isolation隔离性各状态的转换不能互相影响,比如下图是最低的隔离级别READUNCOMMITED未提交读,就会出错Consistency一致性就是数据库中的数据,全部发河现实世界中的约束,比如钱不能有负数,各账号之间转账,总钱数不变,这些主要靠业务代码保证原子性和隔离性没达到,会导致一致性达不到但是原子性和隔离性都达到了,一致性也
- 15.查询优化和子查询 半查询(gold_axe)
胖达_4b7e
一些重写规则移除没用的括号常量传递(确定值换成对应常数)移除明显没用的条件表达式计算Having移到where常量表唯一索引的等值查询,被任务查询的时间少到可忽略,这里table1就是常量表,假设table1.primary_key=1这行是1,a语句就会被优化为SELECT*FROM1,aINNERJOINtable2ONa=table2.column2外连接和内连接效果一样转内连接子查询类型按
- 13.查询成本的计算(gold_axe)
胖达_4b7e
执行计划:成本最低的方案possiblekey:查询中可能用到的索引CREATETABLEsingle_table(idINTNOTNULLAUTO_INCREMENT,key1VARCHAR(100),key2INT,key3VARCHAR(100),key_part1VARCHAR(100),key_part2VARCHAR(100),key_part3VARCHAR(100),common_
- activiti(gold_axe)
胖达_4b7e
构成主要就是2部分1.xml解析器解析标准流程图加上一些actviti自定义的标签和属性图是这样文本打开是这样一堆自动生成的表28个act_开头的有28个表但是只提供了没几个service,对这些表操作目的用activiti的目的是把流程,和业务对象的状态解耦原来我们做一个对象的流程一般会在对象里面弄个状态属性status,然后在具体的各个业务代码里面去改这个status,比如一个请假,在申请人写
- 给虚拟机linux加新硬盘只一个分区并挂载(gold_axe)
胖达_4b7e
看新加的硬盘原来有个硬盘,新加的应该叫Disk/dev/sdb1.看现在硬盘fdisk-l看到Disk/dev/sdb就是有硬盘了2.分区分成一个也是分区fdisk/dev/sdb开始对新硬盘分区然后依次输入如下命令n来创建新分区p主分区1第一分区会有分区/dev/sdb1再2次回车把整个硬盘都给/dev/sdb13.格式化mkfs.ext3/dev/sdb1要等很久看到:不是要我填是要继续等等很
- 14.InnoDB统计数据的收集(gold_axe)
胖达_4b7e
https://juejin.im/book/5bffcbc9f265da614b11b731/section/5c061b43f265da612859e3fd目前统计数据默认存储在磁盘上(就是重启后还在),是以表为单位来收集和存储的(可以设置为一些表的统计数据在内存里面一些在磁盘)存储在磁盘的统计数据,实际在mysql库的2个表里面innodb_index_statsinnodb_table_s
- 19.InnoDB 的 缓存 Buffer Pool(gold_axe)
胖达_4b7e
https://juejin.im/book/5bffcbc9f265da614b11b731/section/5c238f0851882521eb44c51fBufferPool:mysql数据库启动的时候,就向操作系统申请了一片连续的内存,以后读/写访问以后,把页缓存在里面起来,下次如果命中了就可以省了最昂贵的磁盘IO了我们设innodb_buffer_pool_size来控制这块内存的上限控
- 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