- muduo网络库学习总结:基本架构及流程分析
moumde
epoll网络muduoc++
muduo网络库学习:基本架构及流程分析基本架构BasicReactorMutipleReactor+ThreadPoolmuduo库的基本使用基本结构介绍EventLoop类Poller类Channel类TcpConnection类Acceptor类TcpServer类流程梳理之前一直在学习陈硕大佬的muduo库,一直考虑找个时间总结一下(不然没过多久全忘光了)。muduo库是一种基于React
- muduo网络库学习(1)
躺又躺不平卷又卷不动
C++后端网络学习
muduo网络库学习(1)文章目录muduo网络库学习(1)前言一、muduo是什么?二、代码结构1.base库2.net库3.附属库二、网络库结构总结前言本章节主要介绍muduo网络库的整体架构!一、muduo是什么?muduo是一款基于reactor的网络库,整个网络库采用oneloopperthread+threadpool的方法,代码简洁,性能优越·。二、代码结构1.base库base库如
- muduo网络库学习笔记(三)TimerQueue定时器队列
weixin_30648963
目录muduo网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd简单使用介绍timerfd示例muduo中对timerfd的封装TimerQueue的结构.TimerTimer的容器.TimerQueue私有接口介绍.更新定时器时序图TimerQueue源码TimerQueue使用示例muduo网络库学习笔记(三)TimerQueue定时器队列TimerQueu
- muduo网络库学习(三)定时器TimerQueue的设计
一个程序渣渣的小后院
muduo源码学习muduo网络库源码分析
Linux下用于获取当前时间的函数有time(2)/time_t(秒)ftime(3)/structtimeb(毫秒)gettimeofday(2)/structtimeval(微秒)clock_gettime(2)/structtimespec(纳秒)定时函数,用于让程序等待一段时间或安排计划任务sleep(3)alarm(2)usleep(3)nanosleep(2)clock_nanosle
- muduo网络库学习之EventLoop(一):事件循环类图简介和muduo 定时器TimeQueue
s1mba
muduo网络库学习
1、EventLoop、Channel、Poller等类图如下:黑色菱形:组合;白色菱形:聚合;白色三角形:继承;实线:关联;Channel是selectableIOchannel,负责注册与响应IO事件,它不拥有filedescriptor。Channel是Acceptor、Connector、EventLoop、TimerQueue、TcpConnection的成员。一个EventLoop对象
- muduo网络库学习笔记(15):关于使用stdio和iostream的讨论
li27z
muduoC/C++
C/C++程序中需要执行输入/输出时,我们一般会用到stdio或iostream。stdio指C语言的scanf/printf系列格式化输入输出函数,iostream指C++语言的cin/cout输入输出对象等。但是,在真实的项目中很少用到iostream(muduo网络库也不例外),本篇就对二者的优、缺点进行一个小结(主要考虑x86Linux平台,不考虑跨平台的可移植性,但是要考虑32-bit和
- muduo网络库学习之Timestamp类、AtomicIntegerT 类封装中的知识点
s1mba
muduo网络库学习
一、Timestamp类封装classTimestamp:publicmuduo::copyable,publicboost::less_than_comparable类图如下:值语义:可以拷贝,拷贝之后,与原对象脱离关系对象语义:要么是不能拷贝;要么可以拷贝,拷贝之后与原对象仍然存在一定的关系,比如共享底层资源两者之间的关系参见这里。1、muduo::copyable空基类,标识类,值类型2、l
- muduo网络库学习笔记(1):Timestamp类
li27z
muduo
时间戳一般用来唯一地标识某一刻的时间,通常是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。muduo网络库对时间戳Timestamp类也进行了封装。Timestamp类类图:由类图可知,Timestamp类的参数有一个常量kMicroSecondsPerSecond表示每秒所对应的微秒数,成员变量microSecond
- muduo网络库学习之EventLoop(一):事件循环类图简介
哆啦尼可夫
muduo源码
番外TCP网络编程本质TCP网络编程最本质是的处理三个半事件连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接连接断开:主动断开(close、shutdown),被动断开(read返回0)消息到达:文件描述符可读消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件;这里的发送完毕是指数据写入操作系统缓冲区,将由TCP协议栈负责数据的发送与重传,不代表对方已经
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
335046781
目录muduo网络库学习笔记(五)链接器Connector与监听器AcceptorConnector系统函数connect处理非阻塞connect的步骤:Connetor时序图Acceptor系统函数acceptSocket的封装Acceptor的封装Acceptor时序图.简单测试程序AcceptorConnctor运行日志muduo网络库学习笔记(五)链接器Connector与监听器Accep
- muduo网络库学习(九)日志类Logger和LogStream,将日志信息打印到屏幕
一个程序渣渣的小后院
muduo源码学习muduo网络库源码分析
每一个成熟的项目都有大大小小的日志系统,在关键的地方打印日志信息,常用来跟踪程序运行,查找错误原因等,可以节省大量的debug时间muduo的日志信息有5个级别TRACE,细粒度最高的日志信息,打印的最详细DEBUG,细粒度级别上对调试有帮助的日志信息INFO,粗粒度级别上强调程序的运行信息WARN,程序能正常运行,但存在潜在风险的信息ERROR,执行出错,但不影响程序继续执行的错误信息FATAL
- muduo网络库学习(四)事件驱动循环EventLoop
一个程序渣渣的小后院
muduo源码学习muduo网络库源码分析
muduo的设计采用高并发服务器框架中的oneloopperthread模式,即一个线程一个事件循环。这里的loop,其实就是muduo中的EventLoop,所以到目前为止,不管是Poller,Channel还是TimerQueue都仅仅是单线程下的任务,因为这些都依赖于EventLoop。这每一个EventLoop,其实也就是一个Reactor模型。而多线程体现在EventLoop的上层,即在
- muduo网络库学习之muduo_http 库涉及到的类
s1mba
muduo网络库学习
1、httprequest:requestline+header+body(header分为普通报头,请求报头与实体报头)header与body之间有一空行(CRLF)请求方法有:Get,Post,Head,Put,Delete等协议版本1.0、1.1常用请求头Accept:浏览器可接受的媒体(MIME)类型;Accept-Language:浏览器所希望的语言种类Accept-Encoding:浏
- muduo网络库学习之muduo_inspect 库涉及到的类
s1mba
muduo网络库学习
muduoinspect库通过HTTP方式为服务器提供监控接口,现在只实现进程相关信息的监控,通过成员ProcessInspector实现。ProcessInspector//通过ProcessInfo返回进程信息ProcessInfo//获取进程相关信息我们可以参照ProcessInspector实现一个如TcpStateInspector,作为Inspector的成员,这样就可以实现对Tcp连
- muduo网络库学习之EventLoop(四):EventLoopThread 类、EventLoopThreadPool 类
s1mba
muduo网络库学习
1、EventLoopThread(IO线程类)任何一个线程,只要创建并运行了EventLoop,都称之为IO线程IO线程不一定是主线程muduo并发模型oneloopperthread+threadpool(计算线程池)为了方便今后使用,定义了EventLoopThread类,该类封装了IO线程EventLoopThread创建了一个线程在线程函数中创建了一个EvenLoop对象并调用Event
- muduo网络库学习之Logger类、LogStream类、LogFile类封装中的知识点
s1mba
muduo网络库学习
一、Logger类、LogStream类1、日志作用开发过程中:调试错误更好的理解程序运行过程中:诊断系统故障并处理记录系统运行状态2、日志级别TRACE指出比DEBUG粒度更细的一些信息事件(开发过程中使用)DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的。(开发过程中使用)INFO表明消息在粗粒度级别上突出强调应用程序的运行过程。WARN系统能正常运行,但可能会出现潜在错误的情形。ER
- muduo网络库学习笔记(3):Thread类
li27z
muduo
muduo网络库采用了基于对象的编程思想来封装线程类。类图如下:变量numCreated_表示创建的线程个数,类型为AtomicInt32,用到了我们上篇所说的原子性操作。Thread类中还用到了CurrentThread类。代码要点如下:(1)线程标识符Linux中,每个进程有一个pid,类型为pid_t,由getpid()取得。Linux下的POSIX线程也有一个id,类型为pthread_t
- muduo网络库学习笔记(0):面向对象编程风格和基于对象编程风格的比较
li27z
C/C++muduo
我们通过对一个线程类的封装来比较这二者的不同。面向对象编程风格使用面向对象编程风格封装线程类,一般这么做:写一个Threadbaseclass,含有(纯)虚函数Thread::run(),然后应用程序派生一个derivedclass,覆写run()。程序里的每一种线程对应一个Thread的派生类。类图如下:代码如下:文件名:Thread.h--头文件#ifndef_THREAD_H_#define
- muduo网络库学习笔记(8):高效日志类的封装
li27z
muduo
前言在服务端编程中,日志是必不可少的。开发过程中,日志的存在能方便我们调试错误和更好地理解程序;运行过程中,日志能帮助我们诊断系统故障并处理、记录系统运行状态。muduo日志类封装细节(1)日志消息有多种级别(level),如TRACE、DEBUG、INFO、WARN、ERROR、FATAL。日志的输出级别在运行时可调。代码片段1:返回当前日志级别文件名:Logging.ccLogger::Log
- muduo网络库学习笔记(6):单例类(线程安全的)
li27z
muduo
muduo用pthread_once实现了线程安全的Singleton。文件名:Singleton.htemplateclassSingleton:boost::noncopyable{public:staticT&instance(){pthread_once(&ponce_,&Singleton::init);return*value_;}private:Singleton();~Single
- muduo网络库学习之EventLoop(三):Socket、Acceptor、TcpServer、TcpConnection(连接建立,接收消息)
s1mba
muduo网络库学习
1、Socket操作封装Endian.h封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。SocketsOps.h/SocketsOps.cc封装了socket相关系统调用(全局函数,位于muduo::net::sockets名称空间中)。Socket.h/Socket.cc(Socket类)用RAII方法封装socketfiledescriptorInetA
- 在Muduo网络库学习过程中获得的C++知识
小黄的雷雷
muduo网络库
1.shared_ptr为了解决多线程编程下无法确定对象是否存活的问题,引入了智能指针shared_ptr。shared_ptr是引用计数型智能指针,当计数为0时,对象即被销毁。shared_ptr控制对象的生命期,只要有一个shared_ptr存在,对象x就不会被析构,当最后一个shared_ptr析构或reset时,对象会被析构。注意是当指针销毁,对象就被析构。借助shared_ptr还可以实
- muduo网络库学习笔记(10):定时器的实现
li27z
muduo
传统的Reactor通过控制select和poll的等待时间来实现定时,而现在在Linux中有了timerfd,我们可以用和处理IO事件相同的方式来处理定时,代码的一致性更好。为什么选择timerfd常见的定时函数有如下几种:sleepalarmusleepnanosleepclock_nanosleepgetitimer/setitimertimer_create/timer_settime/t
- Muduo网络库学习之Buffer读取与发送数据
段长风
Muduo网络库
Buffer存在的意义Buffer是Tcp网络编程中必不可少的东西。为什么必须要有要有Buffer。举个简单的例子,先说输出buffer,假如服务器要向客户端发送100KB数据,受到了某些因素的影响,一次性只能发送80KB,那剩余的20KB怎么办,总不可能把它丢掉吧。这时候Buffer的作用就出来了,它将缓存没发送完的20KB数据(把数据按时间顺序存好,有点像队列,先入先出),然后再次注册sock
- 一个基于C++11的定时器队列(timerfd,poll实现)
艾露米婭娜
目录前言优点test源代码@前言最近小程序要用到定时器,找了一圈也没找到合适的,最后还是绕回来选择了muduo里面的TimerQueue,整理了下它的代码,独立了出来,因为实在懒得从头写一个--!。原来的muduo中TimerQueue是专为EventLoop提供定时功能的组件,我在笔记muduo网络库学习笔记(三)TimerQueue定时器队列中解读过muduo这块代码,现在反过来,EventL
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
艾露米婭娜
目录muduo网络库学习笔记(五)链接器Connector与监听器AcceptorConnector系统函数connect处理非阻塞connect的步骤:Connetor时序图Acceptor系统函数acceptSocket的封装Acceptor的封装Acceptor时序图.简单测试程序AcceptorConnctor运行日志muduo网络库学习笔记(五)链接器Connector与监听器Accep
- muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
艾露米婭娜
目录muduo网络库学习笔记(四)通过eventfd实现的事件通知机制eventfd的使用eventfd系统函数使用示例EventLoop对eventfd的封装工作时序runInLoop()queueInLoop()wakeup()handleRead()doPendingFunctors()总结muduo网络库学习笔记(四)通过eventfd实现的事件通知机制上篇文章为EventLoop添加了一
- muduo网络库学习笔记(三)TimerQueue定时器队列
艾露米婭娜
目录muduo网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd简单使用介绍timerfd示例muduo中对timerfd的封装TimerQueue的结构.TimerTimer的容器.TimerQueue私有接口介绍.更新定时器时序图TimerQueue源码TimerQueue使用示例muduo网络库学习笔记(三)TimerQueue定时器队列TimerQueu
- Muduo网络库学习知识点总结
chudongfang2015
Muduo网络库
static_cast(expression)该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。②用于基本数据类型
- muduo网络库学习笔记(15):关于使用stdio和iostream的讨论
Leeds1993
C/C++程序中需要执行输入/输出时,我们一般会用到stdio或iostream。stdio指C语言的scanf/printf系列格式化输入输出函数,iostream指C++语言的cin/cout输入输出对象等。但是,在真实的项目中很少用到iostream(muduo网络库也不例外),本篇就对二者的优、缺点进行一个小结(主要考虑x86Linux平台,不考虑跨平台的可移植性,但是要考虑32-bit和
- 面向对象面向过程
3213213333332132
java
面向对象:把要完成的一件事,通过对象间的协作实现。
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。
1、面向对象
package bigDemo.ObjectOriented;
/**
* 大象类
*
* @Description
* @author FuJian
- Java Hotspot: Remove the Permanent Generation
bookjovi
HotSpot
openjdk上关于hotspot将移除永久带的描述非常详细,http://openjdk.java.net/jeps/122
JEP 122: Remove the Permanent Generation
Author Jon Masamitsu
Organization Oracle
Created 2010/8/15
Updated 2011/
- 正则表达式向前查找向后查找,环绕或零宽断言
dcj3sjt126com
正则表达式
向前查找和向后查找
1. 向前查找:根据要匹配的字符序列后面存在一个特定的字符序列(肯定式向前查找)或不存在一个特定的序列(否定式向前查找)来决定是否匹配。.NET将向前查找称之为零宽度向前查找断言。
对于向前查找,出现在指定项之后的字符序列不会被正则表达式引擎返回。
2. 向后查找:一个要匹配的字符序列前面有或者没有指定的
- BaseDao
171815164
seda
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BaseDao {
public Conn
- Ant标签详解--Java命令
g21121
Java命令
这一篇主要介绍与java相关标签的使用 终于开始重头戏了,Java部分是我们关注的重点也是项目中用处最多的部分。
1
- [简单]代码片段_电梯数字排列
53873039oycg
代码
今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:
import java.util.Arrays;
public class 电梯数字排列_S3_Test {
public static void main(S
- Hessian原理
云端月影
hessian原理
Hessian 原理分析
一. 远程通讯协议的基本原理
网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协
- 区分Activity的四种加载模式----以及Intent的setFlags
aijuans
android
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。
这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。 加载模式分类及在哪里配置
Activity有四种加载模式:
standard
singleTop
- hibernate几个核心API及其查询分析
antonyup_2006
html.netHibernatexml配置管理
(一) org.hibernate.cfg.Configuration类
读取配置文件并创建唯一的SessionFactory对象.(一般,程序初始化hibernate时创建.)
Configuration co
- PL/SQL的流程控制
百合不是茶
oraclePL/SQL编程循环控制
PL/SQL也是一门高级语言,所以流程控制是必须要有的,oracle数据库的pl/sql比sqlserver数据库要难,很多pl/sql中有的sqlserver里面没有
流程控制;
分支语句 if 条件 then 结果 else 结果 end if ;
条件语句 case when 条件 then 结果;
循环语句 loop
- 强大的Mockito测试框架
bijian1013
mockito单元测试
一.自动生成Mock类 在需要Mock的属性上标记@Mock注解,然后@RunWith中配置Mockito的TestRunner或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。二.自动注入Mock类到被测试类 &nbs
- 精通Oracle10编程SQL(11)开发子程序
bijian1013
oracle数据库plsql
/*
*开发子程序
*/
--子程序目是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用程序中多次调用
--PL/SQL有两种类型的子程序:过程和函数
--开发过程
--建立过程:不带任何参数
CREATE OR REPLACE PROCEDURE out_time
IS
BEGIN
DBMS_OUTPUT.put_line(systimestamp);
E
- 【EhCache一】EhCache版Hello World
bit1129
Hello world
本篇是EhCache系列的第一篇,总体介绍使用EhCache缓存进行CRUD的API的基本使用,更细节的内容包括EhCache源代码和设计、实现原理在接下来的文章中进行介绍
环境准备
1.新建Maven项目
2.添加EhCache的Maven依赖
<dependency>
<groupId>ne
- 学习EJB3基础知识笔记
白糖_
beanHibernatejbosswebserviceejb
最近项目进入系统测试阶段,全赖袁大虾领导有力,保持一周零bug记录,这也让自己腾出不少时间补充知识。花了两天时间把“传智播客EJB3.0”看完了,EJB基本的知识也有些了解,在这记录下EJB的部分知识,以供自己以后复习使用。
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基
- angular.bootstrap
boyitech
AngularJSAngularJS APIangular中文api
angular.bootstrap
描述:
手动初始化angular。
这个函数会自动检测创建的module有没有被加载多次,如果有则会在浏览器的控制台打出警告日志,并且不会再次加载。这样可以避免在程序运行过程中许多奇怪的问题发生。
使用方法: angular .
- java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数
bylijinnan
java
public class SearchInShiftedArray {
/**
* 题目:给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数。
* 请在这个特殊数组中找出给定的整数。
* 解答:
* 其实就是“旋转数组”。旋转数组的最小元素见http://bylijinnan.iteye.com/bl
- 天使还是魔鬼?都是我们制造
ducklsl
生活教育情感
----------------------------剧透请原谅,有兴趣的朋友可以自己看看电影,互相讨论哦!!!
从厦门回来的动车上,无意中瞟到了书中推荐的几部关于儿童的电影。当然,这几部电影可能会另大家失望,并不是类似小鬼当家的电影,而是关于“坏小孩”的电影!
自己挑了两部先看了看,但是发现看完之后,心里久久不能平
- [机器智能与生物]研究生物智能的问题
comsci
生物
我想,人的神经网络和苍蝇的神经网络,并没有本质的区别...就是大规模拓扑系统和中小规模拓扑分析的区别....
但是,如果去研究活体人类的神经网络和脑系统,可能会受到一些法律和道德方面的限制,而且研究结果也不一定可靠,那么希望从事生物神经网络研究的朋友,不如把
- 获取Android Device的信息
dai_lm
android
String phoneInfo = "PRODUCT: " + android.os.Build.PRODUCT;
phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += ", TAGS: " + android.os.Build.TAGS;
ph
- 最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现
datamachine
java算法字符串匹配
原文:http://www.javacodegeeks.com/2013/11/java-implementation-of-optimal-string-alignment.html------------------------------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第一课
dcj3sjt126com
englishword
long 长的
show 给...看,出示
mouth 口,嘴
write 写
use 用,使用
take 拿,带来
hand 手
clever 聪明的
often 经常
wash 洗
slow 慢的
house 房子
water 水
clean 清洁的
supper 晚餐
out 在外
face 脸,
- macvim的使用实战
dcj3sjt126com
macvim
macvim用的是mac里面的vim, 只不过是一个GUI的APP, 相当于一个壳
1. 下载macvim
https://code.google.com/p/macvim/
2. 了解macvim
:h vim的使用帮助信息
:h macvim
- java二分法查找
蕃薯耀
java二分法查找二分法java二分法
java二分法查找
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 11:40:03 星期二
http:/
- Spring Cache注解+Memcached
hanqunfeng
springmemcached
Spring3.1 Cache注解
依赖jar包:
<!-- simple-spring-memcached -->
<dependency>
<groupId>com.google.code.simple-spring-memcached</groupId>
<artifactId>simple-s
- apache commons io包快速入门
jackyrong
apache commons
原文参考
http://www.javacodegeeks.com/2014/10/apache-commons-io-tutorial.html
Apache Commons IO 包绝对是好东西,地址在http://commons.apache.org/proper/commons-io/,下面用例子分别介绍:
1) 工具类
2
- 如何学习编程
lampcy
java编程C++c
首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有
- 架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy
nannan408
Spring3
1.前言。
如题。
2.描述。
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。
@DependsOn({"steelAxe","abc"})
@Comp
- Spring4+quartz2的配置和代码方式调度
Everyday都不同
代码配置spring4quartz2.x定时任务
前言:这些天简直被quartz虐哭。。因为quartz 2.x版本相比quartz1.x版本的API改动太多,所以,只好自己去查阅底层API……
quartz定时任务必须搞清楚几个概念:
JobDetail——处理类
Trigger——触发器,指定触发时间,必须要有JobDetail属性,即触发对象
Scheduler——调度器,组织处理类和触发器,配置方式一般只需指定触发
- Hibernate入门
tntxia
Hibernate
前言
使用面向对象的语言和关系型的数据库,开发起来很繁琐,费时。由于现在流行的数据库都不面向对象。Hibernate 是一个Java的ORM(Object/Relational Mapping)解决方案。
Hibernte不仅关心把Java对象对应到数据库的表中,而且提供了请求和检索的方法。简化了手工进行JDBC操作的流程。
如
- Math类
xiaoxing598
Math
一、Java中的数字(Math)类是final类,不可继承。
1、常数 PI:double圆周率 E:double自然对数
2、截取(注意方法的返回类型) double ceil(double d) 返回不小于d的最小整数 double floor(double d) 返回不大于d的整最大数 int round(float f) 返回四舍五入后的整数 long round