mysqlierror php_php操作mysqli(示例代码)

php操作mysqli(示例代码)

更新时间:2013年10月28日 08:56:20   作者:

php操作mysqli的示例代码。需要的朋友可以过来参考下,希望对大家有所帮助

define("MYSQL_OPEN_LOGS",true);

class mysqliHelp

{

private $db;

public function __construct()

{

//如果要查询日志log的话,怎么办

}

public function __get($name )

{

//echo "__GET:",$name;

if(in_array($name,array("db"),true))//或者isset($this->$name)

return $this->$name;

return null;

}

public function connect($host,$user,$pass,$db,$charSet='utf8',$force=false)

{

if($this->db && ($this->db instanceof mysqli) && !$force)

{

return ;

}

$this->db=new mysqli($host,$user,$pass,$db);

if (mysqli_connect_error()) {

die('Connect Error (' . mysqli_connect_errno() . ') '

. mysqli_connect_error());

}

$this->db->set_charset($charSet);

}

//$dbname string

//返回值 如果成功则返回 TRUE,失败则返回 FALSE。

function select_db ($dbname )

{

return $this->db->select_db($dbname);

}

//$query mysqli_result

//$resulttype int  MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH. Defaults to MYSQLI_BOTH.

//返回值 Returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in resultset.

function fetch_array(/*mysqli_result*/ $query, $resulttype = MYSQLI_ASSOC)

{

//var_dump(!null);

if(!$query || !($query instanceof mysqli_result))

return NULL;

return $query->fetch_array($resulttype);//

}

function data_seek($result,$offset)

{

return $result->data_seek($offset);

}

function fetch_assoc($query)

{

return $query->fetch_assoc();// 关联数组

}

function fetch_row($query)

{

return $query->fetch_row();// 索引数组,数字0,1。eg。。。

}

function fetch_fields($query)

{

return $query->fetch_fields();

}

//$query string

//$resultmode int

//返回值 如果成功则返回 TRUE,失败则返回 FALSE。 For SELECT, SHOW, DESCRIBE or EXPLAIN mysqli_query() will return a result object.

public function query($sql ,$resultmode=MYSQLI_STORE_RESULT  )

{

if(MYSQL_OPEN_LOGS) {

$sqlstarttime = $sqlendttime = 0;

$mtime = explode(' ', microtime());

$sqlstarttime = $mtime[1]+ $mtime[0] ;

}

//真正查询

$query=$this->db->query($sql,$resultmode);

if(MYSQL_OPEN_LOGS) {

// sleep(1);

$mtime = explode(' ', microtime());

$sqlendttime =  $mtime[1] + $mtime[0]  ;

$sqlQueryTime = number_format($sqlendttime - $sqlstarttime,6);

//dblogs($sql, $sqlQueryTime,1);

$explain = array();

$info = $this->db->info;

if($query && preg_match("/^(select )/i", $sql)) {

$explain = $this->fetch_array($this->db->query('EXPLAIN '.$sql), MYSQLI_ASSOC );

}

$GLOBALS['mysql_debug_query'][] = array('sql'=>$sql, 'time'=>$sqlQueryTime, 'info'=>$info, 'explain'=>$explain);

}

if(!$query)

{

$this->halt('MySQL Query Error', $sql);

}

return $query;

}

//返回值 mysqli_stmt对象

function prepare($sql)

{

return $this->db->prepare($sql);

}

function affected_rows() {

return  $this->db->affected_rows;

}

function  error()

{

return  $this->db->error;

}

function errno()

{

return  $this->db->errno;

}

//result 没有

function num_rows($query)

{

return $query->num_rows;

}

//返回值 int  The number of fields from a result set.

//也可以用另外一种方式  mysqliHelp->db->field_count返回。

function num_fields($query)

{

return  $query->field_count;

}

function free_result($query)

{

//all methods are equivalent;

$query->free();

//$query->free_result();

//$query->close();

}

function insert_id()

{

if(($id = $this->db->insert_id)>= 0)

{

return $id;

}else

{

$idArr=$this->fetch_array($this->query("SELECT last_insert_id() as id"));

return  intval($idArr[0]);

}

//return ($idArr=$this->fetch_array($this->query("SELECT last_insert_id() as id")))[0]

//return ($id = $this->db-insert_id)>= 0 ? $id : 0 ;

}

function close() {

return $this->db->close();

}

function halt($message,$sql)

{

$dberror = $this->error();

$dberrno = $this->errno();

$help_link = "http://faq.comsenz.com/?type=mysql&dberrno=".rawurlencode($dberrno)."&dberror=".rawurlencode($dberror);

echo "

MySQL Error

Message: $message

SQL: $sql

Error: $dberror

Errno.: $dberrno

Click here to seek help.

";

exit();

}

function __destruct()

{

$this->db=null;

}

/*  MySQLi类

面向对象接口  面向过程接口  别名  描述

属性

$mysqli->affected_rows   mysqli_affected_rows()  N/A 获取前一个Mysql操作的受影响行数

$mysqli->client_info mysqli_get_client_info()    N/A 返回字符串类型的Mysql客户端版本信息

$mysqli->client_version  mysqli_get_client_version() N/A 返回整型的Mysql客户端版本信息

$mysqli->connect_errno   mysqli_connect_errno()  N/A 返回最后一次连接调用的错误代码

$mysqli->connect_error   mysqli_connect_error()  N/A 返回一个字符串描述的最后一次连接调用的错误代码

$mysqli->errno   mysqli_errno()  N/A 返回最近的函数调用产生的错误代码

$mysqli->error   mysqli_error()  N/A 返回字符串描述的最近一次函数调用产生的错误代码

$mysqli->field_count mysqli_field_count()    N/A 返回最近一次查询获取到的列的数目

$mysqli->host_info   mysqli_get_host_info()  N/A 返回一个能够代表使用的连接类型的字符串

$mysqli->protocol_version    mysqli_get_proto_info() N/A 返回使用的Mysql协议的版本信息

$mysqli->server_info mysqli_get_server_info()    N/A 返回Mysql服务端版本的信息

$mysqli->server_version  mysqli_get_server_version() N/A 返回整型的Mysql服务端版本信息

$mysqli->info    mysqli_info()   N/A 最近一次执行的查询的检索信息

$mysqli->insert_id   mysqli_insert_id()  N/A 返回最后一次查询自动生成并使用的id

$mysqli->sqlstate    mysqli_sqlstate()   N/A 返回前一个Mysql操作的SQLSTATE错误

$mysqli->warning_count   mysqli_warning_count()  N/A 返回给定链接最后一次查询的警告数量

方法

mysqli->autocommit() mysqli_autocommit() N/A 打开或关闭数据库的自动提交功能

mysqli->change_user()    mysqli_change_user()    N/A 更改指定数据库连接的用户

mysqli->character_set_name(), mysqli->client_encoding mysqli_character_set_name() mysqli_client_encoding()    返回数据库连接的默认字符集

mysqli->close()  mysqli_close()  N/A 关闭先前打开的数据库连接

mysqli->commit() mysqli_commit() N/A 提交当前事务

mysqli::__construct()   mysqli_connect()    N/A 打开一个到Mysql服务端的新的连接[注意:静态方法]

mysqli->debug()  mysqli_debug()  N/A 执行调试操作

mysqli->dump_debug_info()    mysqli_dump_debug_info()    N/A 将调试信息转储到日志中

mysqli->get_charset()    mysqli_get_charset()    N/A 返回对象的字符集

mysqli->get_connection_stats()   mysqli_get_connection_stats()   N/A 返回客户端连接的统计信息。 仅可用于 mysqlnd。

mysqli->get_client_info()    mysqli_get_client_info()    N/A 返回字符串描述的Mysql客户端版本

mysqli->get_client_stats()   mysqli_get_client_stats()   N/A 返回每个客户端进程的统计信息。 仅可用于 mysqlnd。

mysqli->get_cache_stats()    mysqli_get_cache_stats()    N/A 返回客户端的zval缓存统计信息。 仅可用于 mysqlnd。

mysqli->get_server_info()    mysqli_get_server_info()    N/A 没有文档

mysqli->get_warnings()   mysqli_get_warnings()   N/A 没有文档

mysqli::init()  mysqli_init()   N/A 初始化mysqli并且返回一个由mysqli_real_connect使用的资源类型。[不是在对象上,是它返回的$mysqli对象]

mysqli->kill()   mysqli_kill()   N/A 请求服务器杀死一个Mysql线程

mysqli->more_results()   mysqli_more_results()   N/A 检查一个多语句查询是否还有其他查询结果集

mysqli->multi_query()    mysqli_multi_query()    N/A 在数据库上执行一个多语句查询

mysqli->next_result()    mysqli_next_result()    N/A 从multi_query中准备下一个结果集

mysqli->options()    mysqli_options()    mysqli_set_opt()    设置选项

mysqli->ping()   mysqli_ping()   N/A ping一个服务器连接,或者如果那个连接断了尝试重连

mysqli->prepare()    mysqli_prepare()    N/A 准备一个用于执行的SQL语句

mysqli->query()  mysqli_query()  N/A 在数据库上执行一个查询

mysqli->real_connect()   mysqli_real_connect()   N/A 打开一个到Mysql服务端的连接

mysqli->real_escape_string(), mysqli->escape_string() mysqli_real_escape_string() mysqli_escape_string()  转义字符串中用于SQL语句中的特殊字符,这个转换会考虑连接的当前字符集。

mysqli->real_query() mysqli_real_query() N/A 执行一个SQL查询

mysqli->rollback()   mysqli_rollback()   N/A 回滚当前事务

mysqli->select_db()  mysqli_select_db()  N/A 为数据库查询选择默认数据库

mysqli->set_charset()    mysqli_set_charset()    N/A 设置默认的客户端字符集

mysqli->set_local_infile_default()   mysqli_set_local_infile_default()   N/A 清除用户为load data local infile命令定义的处理程序

mysqli->set_local_infile_handler()   mysqli_set_local_infile_handler()   N/A 设置LOAD DATA LOCAL INFILE命令执行的回调函数

mysqli->ssl_set()    mysqli_ssl_set()    N/A 使用SSL建立安装连接

mysqli->stat()   mysqli_stat()   N/A 获取当前系统状态

mysqli->stmt_init()  mysqli_stmt_init()  N/A 初始化一个语句并且返回一个mysqli_stmt_prepare使用的对象

mysqli->store_result()   mysqli_store_result()   N/A 传输最后一个查询的结果集

mysqli->thread_id()  mysqli_thread_id()  N/A 返回当前连接的线程ID

mysqli->thread_safe()    mysqli_thread_safe()    N/A 返回是否设定了线程安全

mysqli->use_result() mysqli_use_result() N/A 初始化一个结果集的取回

*/

/*

MySQL_STMT

面向对象接口  过程化接口   别名(不要使用)    描述

属性

$mysqli_stmt->affected_rows  mysqli_stmt_affected_rows() N/A 返回最后一条倍执行的语句改变,删除或插入的总行数

$mysqli_stmt->errno  mysqli_stmt_errno() N/A 返回最近一次语句调用的错误代码

$mysqli_stmt->error  mysqli_stmt_error() N/A 返回最后一条语句错误的字符串描述

$mysqli_stmt->field_count    mysqli_stmt_field_count()   N/A 返回给定语句得到的字段数量

$mysqli_stmt->insert_id  mysqli_stmt_insert_id() N/A 获取前一个INSERT操作生成的ID

$mysqli_stmt->num_rows   mysqli_stmt_num_rows()  N/A 返回语句结果集中的行数

$mysqli_stmt->param_count    mysqli_stmt_param_count()   mysqli_param_count()    返回给定语句中参数数量

$mysqli_stmt->sqlstate   mysqli_stmt_sqlstate()  N/A 返回前一个语句操作的SQLSTATE错误代码

方法

mysqli_stmt->attr_get()  mysqli_stmt_attr_get()  N/A 用于获取语句属性的当前值

mysqli_stmt->attr_set()  mysqli_stmt_attr_set()  N/A 用于修改prepared语句的行为

mysqli_stmt->bind_param()    mysqli_stmt_bind_param()    mysqli_bind_param() 将一个变量作为参数绑定到prepared语句上

mysqli_stmt->bind_result()   mysqli_stmt_bind_result()   mysqli_bind_result()    将一个变量绑定到一个prepared语句上用于结果存储

mysqli_stmt->close() mysqli_stmt_close() N/A 关闭一个prepared语句

mysqli_stmt->data_seek() mysqli_stmt_data_seek() N/A 查看语句结果集中的任意行

mysqli_stmt->execute()   mysqli_stmt_execute()   mysqli_execute()    执行一个prepared查询

mysqli_stmt->fetch() mysqli_stmt_fetch() mysqli_fetch()  从一个prepared语句中抓取结果到限定变量中

mysqli_stmt->free_result()   mysqli_stmt_free_result()   N/A 释放给定语句处理存储的结果集所占内存

$mysqli_stmt->get_result()   mysqli_stmt_get_result  N/A 没有文档 仅可用于 mysqlnd。

mysqli_stmt->get_warnings()  mysqli_stmt_get_warnings()  N/A 没有文档

$mysqli_stmt->more_results() mysqli_stmt_more_results()  N/A 没有文档 仅可用于 mysqlnd。

$mysqli_stmt->next_result()  mysqli_stmt_next_result()   N/A 没有文档 仅可用于 mysqlnd。

mysqli_stmt->num_rows()  mysqli_stmt_num_rows()  N/A 查阅属性$mysqli_stmt->num_rows

mysqli_stmt->prepare()   mysqli_stmt_prepare()   N/A 准备一个SQL语句用于执行

mysqli_stmt->reset() mysqli_stmt_reset() N/A 重置一个prepared语句

mysqli_stmt->result_metadata()   mysqli_stmt_result_metadata()   mysqli_get_metadata()   从一个prepared语句返回结果集元数据

mysqli_stmt->send_long_data()    mysqli_stmt_send_long_data()    mysqli_send_long_data() 发送数据块

mysqli_stmt->store_result()  mysqli_stmt_store_result()  N/A 从一个prepared语句中传输一个结果集

*/

/*

MySQLi_RESULT

面向对象接口  过程化接口   别名(不要使用)    描述

属性

$mysqli_result->current_field    mysqli_field_tell() N/A 获取当前字段在结果集指针中的开始位置

$mysqli_result->field_count  mysqli_num_fields() N/A 获取结果中字段数量

$mysqli_result->lengths  mysqli_fetch_lengths()  N/A 返回结果集中当前行的每列的值得长度,返回数组

$mysqli_result->num_rows mysqli_num_rows()   N/A 获取结果中行的数量

方法

mysqli_result->data_seek()   mysqli_data_seek()  N/A 将结果中的结果指针调整到任意行

mysqli_result->fetch_all()   mysqli_fetch_all()  N/A 抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。仅可用于 mysqlnd。

mysqli_result->fetch_array() mysqli_fetch_array()    N/A 以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果

mysqli_result->fetch_assoc() mysqli_fetch_assoc()    N/A 以一个关联数组方式抓取一行结果

mysqli_result->fetch_field_direct()  mysqli_fetch_field_direct() N/A 抓取一个单字段的元数据

mysqli_result->fetch_field() mysqli_fetch_field()    N/A 返回结果集中的下一个字段

mysqli_result->fetch_fields()    mysqli_fetch_fields()   N/A 返回一个代表结果集字段的对象数组

mysqli_result->fetch_object()    mysqli_fetch_object()   N/A 以一个对象的方式返回一个结果集中的当前行

mysqli_result->fetch_row()   mysqli_fetch_row()  N/A 以一个枚举数组方式返回一行结果

mysqli_result->field_seek()  mysqli_field_seek() N/A 设置结果指针到特定的字段开始位置

mysqli_result->free(), mysqli_result->close, mysqli_result->free_result    mysqli_free_result()    N/A 释放与一个结果集相关的内存

*/

/*注意 MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别

其实这两个参数的区别还是很大的。

(1)区别在于从服务器上检索结果集的行。

(2)MYSQLI_USE_RESULT 启动查询,但实际上并未获取任何行

(3)MYSQLI_STORE_RESULT 立即检索所有的行

(4)MYSQLI_STORE_RESULT 从服务器上检索结果集时,就提取了行,并为之分配内存,存储到客户机中,随后调用

mysqli_fetch_array()就再也不会返回错误,因为它仅仅是把行脱离了已经保留结果集的数据结 构,mysqli_fetch_array()返回 NULL始终表示已经到达结果集的末端。

(5)MYSQLI_USE_RESULT 本身不检索任何行,而只是启动一个逐行的检索,就是说必须对每行调 用

mysqli_fetch_array()来自己完成。既然如此,虽然正常情况下,mysqli_fetch_array()返回NULL仍然表示此 时已到达结果集的末端,但也可能表示在与服务器通信时发生错误。

如果是MYSQLI_USE_RESULT,query以后得到mysqli_result对象后,执行data_seek会出错,因为

mysqli_result::data_seek() [mysqli-result.data-seek]: Function cannot be used with MYSQL_USE_RESULT

与MYSQLI_USE_RESULT相比,MYSQLI_STORE_RESULT 有着较高的内存和处理需求,因为是在客户机上维护整个结果集,所以内存分配和创建数据结构的耗费是非常巨大的,如果想一次检索多个行,可用 MYSQLI_USE_RESULT。

MYSQLI_USE_RESULT有着较低的内存需求,因为只需给每次处理的单行分配足够的空间。这样速度就较快,因为不必为结果集建立复杂的数据结构。

另一方面,MYSQLI_USE_RESULT把较大的负载加到了服务器上,它必须保留结果集中的行,直到客户机看起来适合检索所有的行。

*/

}

$dbHelper=new mysqliHelp;

$dbHelper->connect('localhost', 'root', '', 'tt');

//$dbHelper->db->select_db("tt");

//$dbHelper->db->set_charset("utf8");

//这里如果是MYSQLI_USE_RESULT,下面的$dbHelper->data_seek($query,10);就会出错

$query=$dbHelper->query("select id,cateid,title from product limit 22",MYSQLI_STORE_RESULT );

//$query=$dbHelper->query("update product set  createtime=UNIX_TIMESTAMP()  limit 22");

//$query=$dbHelper->query("insert  into `product`(`cateid`,`title`,`text`,`createtime`) values (2,'test','content',1284822691)");

//$query=$dbHelper->query("delete from `product` where id=1");

//$query=$dbHelper->query("replace into product(id,cateid,title,text,createtime) values(1,2,'this is demo','test',UNIX_TIMESTAMP())");

echo $query->num_rows."总数";

//var_dump($query);

//$row=$dbHelper->fetch_array($query);

//var_dump($row);

//finfo = $dbHelper->fetch_fields($query);

//var_dump($finfo);

// foreach ($finfo as $val) {

// printf("Name:     %s\n", $val->name);

// printf("Table:    %s\n", $val->table);

// printf("max. Len: %d\n", $val->max_length);

// printf("Flags:    %d\n", $val->flags);

// printf("Type:     %d\n\n", $val->type);

// }

//如果是查询操作affected_rows行数为1,num_rows为查询结果行数,num_fields为字段数目

//如果是更新或者删除操作affected_rows为受影响的行数,num_rows为null,num_fields为null

//

$dbHelper->data_seek($query,10);

$row=$dbHelper->fetch_row($query);

var_dump($row);

echo "影响行数:", "
";

var_dump($dbHelper->affected_rows());

//var_dump($dbHelper->db->affected_rows );

echo "查询行数","
";

var_dump($dbHelper->num_rows($query));

echo "列数:","
";

var_dump($dbHelper->num_fields($query));

//第1种

$sql="select id,cateid,title from product where cateid=? and title like  ? and createtime

$stmt=$dbHelper->prepare($sql);

var_dump($stmt);

$stmt->bind_param('is',$cateid,$title);

$title="%%";

$cateid=10;

$stmt->execute();

$stmt->bind_result($col1, $col2,$col3);

/* fetch values */

while ($stmt->fetch()) {

printf("%s %s"."
", $col1, $col3);

}

echo "
";

$title="%%";

$cateid=4;

$stmt->execute();

$stmt->bind_result($col1, $col2,$col3);

/* fetch values */

while ($stmt->fetch()) {

printf("%s %s %s"."
", $col1, $col2,$col3);

}

$stmt->close();

//第2种

$stmt=$dbHelper->db->stmt_init();

$stmt->prepare($sql);

$stmt->bind_param('is',$cateid,$title);

$title="%%";

$cateid=10;

$stmt->execute();

$stmt->bind_result($col1, $col2,$col3);

/* fetch values */

while ($stmt->fetch()) {

//printf("%s %s"."
", $col1, $col3);

}

echo "
开始multi_query:
";

//multi_query实例

//multi_query()方法的返回值,以及 //mysqli的属性errno、error、info等只与第一条SQL命令有关,无法判断第二条及以后的命令是否在执行时发生了错误。所以在执行 //multi_query()方法的返回值是TRUE时,并不意味着后续命令在执行时没有出错。

$sql="select id,cateid,title from product where cateid=4;";

$sql.="select id,cateid,title from product where cateid=10";

$query=$dbHelper->db->multi_query($sql);

if($query)

{

do {

/* store first result set */

//下面两种方法有什么区别?

// if ($result = $dbHelper->db->store_result()) {

// while ($row = $result->fetch_row()) {

// $data[]=$row;

// }

// $result->free();

// }

if ($result = $dbHelper->db->use_result()) {//返回mysqli_result类型

//$result->data_seek(0);//返回bool

while ($row = $result->fetch_row()) {

$data[]=$row;

}

//$result->close();

}

/* print divider */

if ($dbHelper->db->more_results()) {

printf("-----------------\n");

$data[]="_______________________________";

}

} while ($dbHelper->db->next_result());

}

var_dump($data);

//exit;

//执行事务 实例

//确保操作的表时innodb类型的表

//如果是MyISAM,逻辑出错的话, 会执行所有操作,不回滚

$price=1;

$success=true;

$dbHelper->db->autocommit(0);

$result=$dbHelper->query("update product set cateid=cateid-$price where id=1000" );

if(!$result  || $dbHelper->affected_rows()!=1)

{

$success=false;

}

$result=$dbHelper->query("update product set cateid=cateid+$price where id=2");

if(!$result  || $dbHelper->affected_rows()!=1)

{

$success=false;

}

if($success)

{

$dbHelper->db->commit();

echo "成功";

}else

{

$dbHelper->db->rollback();

echo "失败";

}

$dbHelper->db->autocommit(1);

//var_dump(  $dbHelper->insert_id());

var_dump($mysql_debug_query);  //打印sql查询信息

//

?>

相关文章

这篇文章主要介绍了详解PHP函数 strip_tags 处理字符串缺陷bug的相关资料,需要的朋友可以参考下2017-06-06

这篇文章主要介绍了PHP上传图片到数据库并显示的实例代码,有兴趣的朋友们参考下。2019-12-12

在用wampserver集成开发环境下,有时会碰到一些开源程序需要zend optimizer的支持,下面我用的wamp的版本是2.0,optimizer的版本是ZendOptimizer-3.3.3-Windows-i3862013-10-10

本篇文章主要介绍了php+webSoket搭建chatServer示例(附源码)的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。2017-02-02

这篇文章主要介绍了使用Rancher在K8S上部署高性能PHP应用程序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07

这篇文章主要介绍了thinkPHP+LayUI 流加载实现功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-09-09

这篇文章主要介绍了PHP zip扩展Linux下安装过程分享,需要的朋友可以参考下2014-05-05

今天小编就为大家分享一篇laravel5.5安装jwt-auth 生成token令牌的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10

这篇文章主要介绍了PHP的Laravel框架结合MySQL与Redis数据库的使用部署,需要的朋友可以参考下2016-03-03

这篇文章主要介绍了Zend Framework入门之环境配置及第一个Hello World示例,详细讲述了Zend Framework环境搭建与配置,以及实现第一个Hello World程序的方法,并附带demo源码供读者下载参考,需要的朋友可以参考下2016-03-03

最新评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React Native - 3 View, Text简介以及onPress onLongPress事件

我们要生成如下的构图 直接上图,不解释。如下图所示,定义函数,函数之间不需要逗号,在元素上添加事件,使用关键字this.{function name}转载于:https://www.cnblogs.com/yahb/p/6864382.html

创业日记

最近在拼命的写代码,估计这段时间写代码的行数等于过去一年的了,这是保守估计,如果不保守估计就不好说了,我本来想在原来的小组群里发话说,打算是下面这段对话我:X总,你站起来X总:为…

线程基础知识_线程生命周期_从JVM内存结构看多线程下的共享资源

线程生命周期 线程状态 New: 线程创建(new Thread()) Runnable: 线程可运行(thread.start()), 注: 调用start并不一定是运行状态, 可能在等待CPU调度 Running: 线程进入运行状态 Blocked: 阻塞状态(object.wait, Thread.sleep) Terminal: 死亡状态(线程正常/非正常结束运行)th…

centos查看网络速率_CentOS 7查看网络带宽使用情况

最近装Openshift,需要下载大量的镜像,想看看他们的带宽使用情况。nload这确实是非常好用的工具,我也是刚刚知道。直接yum install就可以。使用也很简单,直接启动就可以,当然你也是可以加入参数,指定网卡。默…

CPU,内核,寄存器,缓存,RAM,ROM的知识

偷偷说一下,这个图片是晚上 8 点钟的太阳,一个骚男华为总工发给我的,有时间还是想出去走走很多人使用计算机,但是对计算机却不是很懂,即使是作为非常资深的码农,也不能做到心中有剑的地步,那么怎…

swift中为什么要创造出可选型?

(1)因为nil这个东西,swift中没有就是没有。 Int? 叫 整型可选型,如果不提前声明,直接赋值变量 nil会报错 。 可以将Int赋值给Int? ,但是不能将Int?赋值给Int 。 (2)不能将 普通…

mft按钮设计_哈汽机组660MW超临界空冷机组ETS设计及逻辑说明

点击上方“火力发电集控运行”关注公众号,加微信号:jikonglingmi,备注:集控运行,拉你入集控运行技术交流群,共同学习、共同进步。更多学习题库,请进入首页菜单选择一、 基本设计思想1、既防拒动…

JVM运行参数_JVM内存模型_常用内存分析工具

JVM运行参数 常见标准参数 -showversion: 显示当前JVM版本等信息-D设置系统属性参数: /*** 测试* author regotto*/ public class JvmTest {public static void main(String[] args) {//获取系统参数String str System.getProperty("str");System.out.println(st…

2019 年入门AI算法工程师,你需要掌握什么技能?

一篇推文,感兴趣的同学可以了解一下,有需要请继续往下阅读,没有需要的打扰各位金主了-----人工智能与自然语言处理/计算机视觉课培训招生Artificial Intelligence ForNLP/CV Courses真实企业级项目驱动找工作拿不到offer全额退款GitHub年度活…

腾讯云安全组规则导出

规则协议 端口 来源 策略 备注 TCP 23232,23235,23236,23240,21101 0.0.0.0/0 允许 TCP 28000-28040 0.0.0.0/0 允许 TCP 23241,23242,23240 0.0.0.0/0 允许 TCP 6000-7000 0.0.0.0/0 允许 ALL ALL 122.152.196.158 允许 ALL ALL 10.0.0.213 允许 ALL ALL 10.0.0.2 允许 ALL AL…

python循环套循环_零基础学python 14 循环套循环:循环的嵌套

大家可以回忆一下,之前我们学习过的循环结构。也就是for循环结构,今后我们还将学习另一种循环结构while结构,这里先不细讲。当初我们学习for循环结构的时候,有心的同学或许会发现,我们的for结构一般都是单独写单独出现…

Java常见GC算法_垃圾收集器及内存分配_G1垃圾收集器

常见GC算法 引用计数法: 每个对象都有一个计数器, 对象被引用一次, 计数器1, 当对象引用失败一次. 计数器-1, 当对象计数器等于0, 说明对象没有被应用, 就可GC 优: 运行过程中, 可随时检查对象计数器, 进行GC, 且GC过程, 应用无需暂停, 执行速度快(单个对象GC不会影响其他对…

是应该有点兴奋剂刺激下

不知道你有没有发现一个问题,发现身边的很多人工资很高,但是好像总还是缺点什么,总是对生活提不起兴趣,似乎对任何事情都失去热情,每天拿着手机,点来点去,每天都在抱怨,每天都好像在…

你应该知道为什么需要内核

不知道大家想过这个问题没有?为什么要有内核?如果没有内核有怎么样呢?因为有了 unix 内核,有了 minix 后面又有了 Linux 内核,内核这个思想越来越根深蒂固,估计没学什么计算机知识的人都能侃出点所以然来。…

FTP 协议和 HTTP 协议的比较

参考:http://www.oschina.net/news/28162/http-vs-ftp 以下列出了一些两者的不同点: 1、HTTP协议是用来浏览网站的,而FTP是用来访问和传输文件的,FTP文件传输有点批量上传和维护网站的意思,而HTTP文件传输更多的是为终…

线程基础知识_Synchronized_ThreadAPI_自定义锁_获取线程运行时异常

Synchronized synchronized包含monitor enter, monitor exit 2个JVM指令(遵循happens-before原则), 执行monitor exit之前必须存在monitor enter指令. 由于每个对象与一个monitor产生关联, 线程执行monitor enter时, 就会获取monitor的lock, monitor中存在计数器, 用于记录当前…

32位和64位系统区别及int字节数

一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系…

在统计学中参数的含义是指_《统计学》名词解释及公式

章节主要内容学习要点1.1统计及其应用领域什么是统计学概念:统计学,描述统计,推断统计。统计的应用领域统计在工商管理中的应用。统计的其他应用领域。1.2数据的类型分类数据、顺序数据、数值型数据概念:分类数据&#xf…

2019深圳入户攻略

我上次说了,等我把户口办好了,我就把攻略写出来,给大家一个参考,今天刚好是我最后的一个步骤,去派出所把身份证给办了,好了,我以后就是深圳人了,来深圳快十年了,现在才真…

NIO之ByteBuffer_NIO之网络IO_与ChannelNetty初窥门径

NIO之ByteBuffer与Channel 传统IO:byte[] < inputStream < 文件 > outputStream > byte[] NIO:文件 > inputChannel <> buffer <> outputChannel > 文件文件 < inputChannel <> outputChannel > 文件文件复制, 并测试ByteBuffer常用…