首页 文章 精选 留言 我的

精选列表

搜索[SpringBoot4],共10000篇文章
优秀的个人博客,低调大师

PostgreSQL 12 Beta 4 发布

PostgreSQL 12 的第四个测试版发布了,此版本包含 PostgreSQL 12 最终版本中可用的所有功能的预览,但此版本的某些细节可能会在 12 正式发布之前发生变化。这可能是在发布候选版本可用之前 PostgreSQL 12 的最终 beta 版本。 自12 Beta 3 以来的变更如下: 修复了包含锁定的嵌套查询可能发生的崩溃 仅允许链式事务在显式设置的事务块中工作,否则会出错 更改了分区为 DEBUG1 的几种类型消息的日志级别 将 default_table_access_method 配置参数添加到 postgresql.sample.conf 中保存的示例配置中 修复调用 ALTER SYSTEM 时 postgresql.auto.conf 中重复条目的处理。现在,当更新具有重复条目的配置参数时,PostgreSQL 将删除所有条目并将新条目追加到末尾 确保 ALTER SYSTEM 在调整配置中的条目时进行不区分大小写的比较 详情查看更新说明: https://www.postgresql.org/about/news/1972/

优秀的个人博客,低调大师

Docker之4 容器管理

什么是Docker容器 容器是用于运行应用的载体,并且容器是基于镜像进行运行的,在运行中数据是相当于在镜像的只读层上在加多了一层可写层,用户可以基于镜像创建一个或多个容器。 容器管理命令 #查看容器状态 docker ps #查看容器详情 docker inspect <containerID> #在运行容器中执行命令 docker exec <Command> #将容器生成新的镜像 docker commit <contrainerID> <Image:Tag> #复制本地文件系统的文件到容器指定路径 docker cp <srcPath> <destPath> #查看容器日志 docker logs <contrainerID> #查看容器映射的端口 docker port <contrainerID> #查看容器运行进程 docker top <contrainerID> #查看容器运行所用资源 docker stats <contrainerID> #从镜像中创建容器 docker create <Image> #将已创建或已停止的容器状态变为启动 docker start <contrainerID> #将已启动的容器状态变为停止 docker stop <contrainerID> #重启运行中的容器 docker restart <contrainerID> #删除状态为已停止的容器 docker rm <contrainerID> 运行容器选项参数 -i 交互式 -t 分配终端 -e 设置环境变量 -p 映射指定端口到主机指定端口 -P 映射EXPOSE的端口到主机的随机端口 --name 指定容器名称 -h 设置容器主机名 -ip 自定容器IP -network 指定网络模式 -mount 挂载文件系统至容器 -v 挂载卷至容器 -restart 设置退出容器时是否重启 -l 设置容器元数据标签 -m 内存限制 -c cpu限制 -u 指定运行的用户 -w 指定工作目录

优秀的个人博客,低调大师

Go语言基础语法-4

章节 关键字、标识符、注释、基础结构 package(重要)、import 别名(重要)、路径、"."、"_"的使用说明 Go 变量、函数、可见行规则 1.关键字、标识符、注释、基础结构 1.1 Go 中 25个保留关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 注意:“上述关键字是我们在应用开发中经常使用到的关键字,不用刻意背诵”-引用自慕课网 1.2 Go 中36个预定义标识符 append bool byte cap close complex complex64 complex128 unit16 copy false float32 float64 imag int int8 int16 unit32 int32 int64 iota len make new nil panic unit64 print println real recover string TRUE unit unit8 unitprt 包括基础数据类型和系统内嵌函数 1.3 Go语言注释 & 基础结构 package main import "fmt" //常量 const NAME = "I am markfork" //全局变量 此变量可以在主函数 main() 当中直接调用 var mainName = "I am mainName" //main 函数,程序主入口函数 func main() { test() } //注释一般采用单行结构 func test() { fmt.Println("测试") fmt.Println(mainName) fmt.Println(NAME) } /* 多行注释风格 */ func format() { } 应用中对于较为简单的func可以采用单行注释的风格; 对于较为复杂的func可以采用多行注释风格; const 声明常量,常量名命名规范为大写字母; var 变量 如果声明在 main 函数之外则被视为全局变量,这点有点像js的语法,而且每行代码后面无需 ; 结尾,有点像python,反正语法格式、基础结构集众家之特征,变量声明较为随意。

优秀的个人博客,低调大师

PHP学习4——面向对象

主要内容: 创建类 成员方法 构造方法 析构方法 封装 继承 接口 多态 静态成员 常用关键字 常用魔术方法 从PHP5开始引入了面向对象的全部机制,面向对象的特性符合软件工程的3个目标:重用性,灵活性,扩展性。 创建类 类前面不用public修饰,只要class,类的属性不能在初始化赋值(除非你写了构造方法来初始化赋值),属性的使用符号->,比如$aClass->name; demo.php <?php //声明ren类,默认public,不写 class ren{ public $name; public $sex; public $age; } //实例化ren类 $xiaoli=new ren(); //设置name属性 $xiaoli->name="小李"; //获取name属性 echo $xiaoli->name; ?> 输出 =》小李 成员方法 就是类中函数,只是在原先的函数声明前面加修饰符public,即可,调用方法$aClass->func(),在函数中使用该对象的属性使用关键字$this,比如$this->name; class_func.php <?php //声明ren类,默认public,不写 class ren{ public $name; public $sex; public $age; public function say(){ echo "我叫做".$this->name."<br/>"; } } //实例化ren类 $xiaoli=new ren(); //设置name属性 $xiaoli->name="小李"; //调用方法 $xiaoli->say(); ?> 输出 我叫做小李 构造方法 在类的方法中的一个特殊的方法,默认为public(不需要写),,写法:__construct(){},注意前面是2个下划线。 可以使用构造方法进行对象的初始化赋值 每一次实例化对象(new),都会执行。 construct.php <?php //声明ren类,默认public,不写 class ren{ public $name; public $sex; public $age; //成员方法 public function say(){ echo "我叫做".$this->name."<br/>"; echo "性别:".$this->sex."<br/>"; echo "年龄:".$this->age."<br/>"; } //构造方法 function __construct($name,$sex,$age){ $this->name=$name; $this->sex=$sex; $this->age=$age; } } //实例化ren类,初始化对象赋值 $xiaoli=new ren("小李","男",25); //调用方法 $xiaoli->say(); ?> 输出 我叫做小李 性别:男 年龄:25 析构方法 和构造方法名称类似,但是不能带任何参数,写法:function __destruct(){} 在销毁一个类之前执行一些操作或完成功能,在对象被销毁时自动执行。 destruct.php <?php //声明ren类,默认public,不写 class ren{ public $name; public $sex; public $age; //成员方法 public function say(){ echo "我叫做".$this->name."<br/>"; echo "性别:".$this->sex."<br/>"; echo "年龄:".$this->age."<br/>"; } //构造方法 function __construct($name,$sex,$age){ $this->name=$name; $this->sex=$sex; $this->age=$age; } //析构方法 function __destruct(){ echo "<br/>$this->name 这个对象被销毁了。<br/>"; } } //实例化ren类,初始化对象赋值 $xiaoli=new ren("小李","男",25); //调用方法 $xiaoli->say(); //对象自动销毁,执行__destruct ?> 输出 我叫做小李 性别:男 年龄:25 小李 这个对象被销毁了。 也可以使用unset方法手动销毁对象,比如$unset($xiaoli) unset.php <?php //声明ren类,默认public,不写 class ren{ public $name; public $sex; public $age; //成员方法 public function say(){ echo "我叫做".$this->name."<br/>"; echo "性别:".$this->sex."<br/>"; echo "年龄:".$this->age."<br/>"; } //构造方法 function __construct($name,$sex,$age){ $this->name=$name; $this->sex=$sex; $this->age=$age; } //析构方法 function __destruct(){ echo "<br/>$this->name 这个对象被销毁了。<br/>"; } } //实例化ren类,初始化对象赋值 $xiaoli=new ren("小李","男",25); $xiaobai=new ren("小白","女",23); //调用方法 unset($xiaoli,$xiaobai); //对象自动销毁,执行__destruct ?> 输出 小李 这个对象被销毁了。 小白 这个对象被销毁了。 封装 面向对象的3特性:封装,继承,多态 封装是面向对象的3特性之一(3特性为:封装,继承,多态) 类封装了代码,对象则封装了数据 访问关键字:public,private,protected 继承 这也是面向对象的3特性之一 继承使用的关键字为extends 继承可以拓展原先的类的属性和方法,还可以直接使用原先的类的属性和方法,节省了一大推敲代码的时间! 不过继承的是public,protected的属性和方法,至于private乃是师傅的私家珍藏(俗称“留一手”),是不会让继承的! PHP的面向对象的设计,和Java语言的设计非常的类似,难道是copy“借鉴”了Java的吗?也许吧! jicheng.php <?php //声明tool类 class tool{ function on(){ echo "<br/>启动<br/>"; } function run(){ echo "运行<br/>"; } function off(){ echo "关闭<br/>"; } } //继承tool类 class fan extends tool{ function app(){ $this->on(); $this->run(); $this->off(); } } $fan=new fan(); $fan->app(); ?> 输出 启动 运行 关闭 接口 PHP5也是单继承的,只能extends一个类,但是可以实现(相当于继承)多个接口(接口相当于是所有方法都是抽象方法,抽象类) 接口的关键字interface,实现接口implements interface.php <?php //声明接口 interface tool{ //全都是默认的public abstract 的方法 function on(); function run(); function off(); } //实现接口 class fan implements tool{ function on(){ echo "<br/>风扇启动<br/>"; } function run(){ echo "风扇运行<br/>"; } function off(){ echo "风扇关闭<br/>"; } } ?> 多态 由于PHP是弱类型语言,并不支持完全的多态。 多态就是根据不同的对象来做出不同的反应,运行同一个方法,但是得到的却是不同的结果。 duotai.php <?php //声明接口 interface tool{ //全都是默认的public abstract 的方法 function on(); function run(); function off(); } //实现接口 class fan implements tool{ function on(){ echo "<br/>风扇启动<br/>"; } function run(){ echo "风扇运行<br/>"; } function off(){ echo "风扇关闭<br/>"; } } //实现接口 class engine implements tool{ function on(){ echo "<br/>发动机启动<br/>"; } function run(){ echo "发动机运行<br/>"; } function off(){ echo "发动机关闭<br/>"; } } //状态类 class toolStatus{ function ts($tool){ $tool->on(); $tool->run(); $tool->off(); } } //应用多态 $fan=new fan(); $engine=new engine(); $toolStatus=new toolStatus(); $toolStatus->ts($fan); $toolStatus->ts($engine); ?> 输出 风扇启动 风扇运行 风扇关闭 发动机启动 发动机运行 发动机关闭 静态成员 类中一种特殊成员,不会被实例化到对象中,所以不用实例化对象即可调用。 关键字static,比如public static $name,public static function say(){}; 在类的内部使用静态的成员使用关键字self::$name,self表示类,2个冒号是作用域限定符,$name就是静态成员。 在程序中使用静态成员,写法: static.php <?php //声明tool类 class tool{ //声明静态方法 static function on(){ echo "<br/>启动<br/>"; } function run(){ //内部调用静态方法 self::on(); echo "运行<br/>"; } function off(){ echo "关闭<br/>"; } } //外部调用静态方法,不用实例化对象 tool::on(); $fan=new tool(); $fan->run(); ?> 输出 启动 启动 运行 常用关键字 final,被final(最终的)修饰的类不能被继承,修饰的属性不能被修改,比如public final function say(){} clone,建立一个对象的副本,比如$newClass=clone $aClass;他会自动调用类的__clone(){}方法 常用的魔术方法 function __construct($name,$age){}构造方法 function __destruct(){}析构方法 function __clone(){}拷贝方法 function __set($name,$value)设置方法 function__get($name)获取方法 function__call($func,$values) function static __callStatic($func,$values)

优秀的个人博客,低调大师

Demo4 - 加载模型

当已经训练好的模型如何直接使用,。 参考demo3, 两种load方式,根据你选择的是pickle,还是joblib方式。 代码: # -- coding: utf-8 -- # 通过本个demo 将学习后的模型的加载,无需重新训练模型。 # (模型的保留的迁移- 参考demo3) # 方法1,使用python自带的pickle import pickle from sklearn import datasets # 导入模型方法1: # file = open('saved_model/rfc.pickle','rb') # rfc = pickle.load(file) # !!!!重点 # file.close() #导入模型方法2: from sklearn.externals import joblib rfc = joblib.load('saved_model/rfc.pkl') # 导入后验证 (X,y) = datasets.load_iris(return_X_y=True) # 导入测试数据 print('验证结果是:') print(rfc.predict(X[0:1,:]))

优秀的个人博客,低调大师

4 章 Project directory

一种很蠢目录规划: project project/library project/log project/tmp project/... 目录规划原则,临时文件分离,日志分离,配置文件分离;这样有利于在负载均衡环境中克隆节点。 项目目录/workspace/project 临时目录 /workspace/tmp/ 日志 目录/workspace/log/ 配置文件/workspace/conf Please enable JavaScript to view the &lt;a href="http://disqus.com/?ref_noscript"&gt;comments powered by Disqus.&lt;/a&gt;comments powered by Disqus 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

优秀的个人博客,低调大师

android152 笔记 4

42. Android中Task任务栈的分配。 首先我们来看下Task的定义,Google是这样定义Task的:a task is what the user experiences as an "application." It's a group of related activities, arranged in a stack. A task is a stack of activities, not a class or an element in the manifest file. 这意思就是说Task实际上是一个Activity栈,通常用户感受的一个Application就是一个Task。从这个定义来看,Task跟Service或者其他Components是没有任何联系的,它只是针对Activity而言的。 Activity有不同的启动模式, 可以影响到task的分配 Task,简单的说,就是一组以栈的模式聚集在一起的Activity组件集合。它们有潜在的前后驱关联,新加入的Activity组件,位于栈顶,并仅有在栈顶的Activity,才会有机会与用户进行交互。而当栈顶的Activity完成使命退出的时候,Task会将其退栈,并让下一个将跑到栈顶的Activity来于用户面对面,直至栈中再无更多Activity,Task结束。 事件 Task栈(粗体为栈顶组件) 点开Email应用,进入收件箱(ActivityA) A 选中一封邮件,点击查看详情(ActivityB) AB 点击回复,开始写新邮件(ActivityC) ABC 写了几行字,点击选择联系人,进入选择联系人界面(ActivityD) ABCD 选择好了联系人,继续写邮件 ABC 写好邮件,发送完成,回到原始邮件 AB 点击返回,回到收件箱 A 退出Email程序 null 如上表所示,是一个实例。从用户从进入邮箱开始,到回复完成,退出应用整个过程的Task栈变化。这是一个标准的栈模式,对于大部分的状况,这样的Task模型,足以应付,但是,涉及到实际的性能、开销等问题,就会变得残酷许多。 比如,启动一个浏览器,在Android中是一个比较沉重的过程,它需要做很多初始化的工作,并且会有不小的内存开销。但与此同时,用浏览器打开一些内容,又是一般应用都会有的一个需求。设想一下,如果同时有十个运行着的应用(就会对应着是多个Task),都需要启动浏览器,这将是一个多么残酷的场面,十个Task栈都堆积着很雷同的浏览器Activity, 是多么华丽的一种浪费啊。 于是你会有这样一种设想,浏览器Activity,可不可以作为一个单独的Task而存在,不管是来自那个Task的请求,浏览器的Task,都不会归并过去。这样,虽然浏览器Activity本身需要维系的状态更多了,但整体的开销将大大的减少,这种舍小家为大家的行为,还是很值得歌颂的 standard", "singleTop", "singleTask", "singleInstance"。 standard模式, 是默认的也是标准的Task模式,在没有其他因素的影响下,使用此模式的Activity,会构造一个Activity的实例,加入到调用者的Task栈中去,对于使用频度一般开销一般什么都一般的Activity而言,standard模式无疑是最合适的,因为它逻辑简单条理清晰,所以是默认的选择。 而singleTop模式,基本上于standard一致,仅在请求的Activity正好位于栈顶时,有所区别。此时,配置成singleTop的Activity,不再会构造新的实例加入到Task栈中,而是将新来的Intent发送到栈顶Activity中,栈顶的Activity可以通过重载onNewIntent来处理新的Intent(当然,也可以无视...)。这个模式,降低了位于栈顶时的一些重复开销,更避免了一些奇异的行为(想象一下,如果在栈顶连续几个都是同样的Activity,再一级级退出的时候,这是怎么样的用户体验...),很适合一些会有更新的列表Activity展示。一个活生生的实例是,在Android默认提供的应用中,浏览器(Browser)的书签Activity(BrowserBookmarkPage),就用的是singleTop。 singleTask,和singleInstance,则都采取的另辟Task的蹊径。 标志为singleTask的Activity,最多仅有一个实例存在,并且,位于以它为根的Task中。所有对该Activity的请求,都会跳到该Activity的Task中展开进行。singleTask,很象概念中的单件模式,所有的修改都是基于一个实例,这通常用在构造成本很大,但切换成本较小的Activity中。最典型的例子,还是浏览器应用的主Activity(名为Browser...),它是展示当前tab,当前页面内容的窗口。它的构造成本大,但页面的切换还是较快的,于singleTask相配,还是挺天作之合的。 singleInstance显得更为极端一些。在大部分时候singleInstance与singleTask完全一致,唯一的不同在于,singleInstance的Activity,是它所在栈中仅有的一个Activity,如果涉及到的其他Activity,都移交到其他Task中进行。这使得singleInstance的Activity,像一座孤岛,彻底的黑盒,它不关注请求来自何方,也不计较后续由谁执行。在Android默认的各个应用中,很少有这样的Activity,在我个人的工程实践中,曾尝试在有道词典的快速取词Activity中采用过, 是因为我觉得快速取词入口足够方便(从notification中点选进入),并且会在各个场合使用,应该做得完全独立。 大的apk 拆成 很多小的apk ●Activity的android:affinity属性 1.配置后 当启动这个activity时就先去找有没有activity的亲和力属性相同 有就加入这个 activity所在的任务中没有就新开任务(照相和图库就是有亲缘关系的,在照相里面可以点击进去图库。) 2.affinity起作用需要的条件二者具备一个: 1.intent包含FLAG_ACTIVITY_NEW_TASK标记 2.activity元素启用了allowTaskReparenting属性. 43. 在Android中,怎么节省内存的使用,怎么主动回收内存? 回收已经使用的资源,置为null. 合理的使用缓存 合理设置变量的作用范围… application 对象 //未来的某一段时间执行 System.gc(); 44. 不同工程中的方法是否可以相互调用? 可以,列举aidl访问远程服务的例子. 45. 在Android中是如何实现判断区分电话的状态,去电,来电、未接来电? Day8 showAddressService.java 46. dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 Dvm的进程是dalivk虚拟机进程运行在linux里面,每个android程序都会开启一个Dvm的进程,都运行在自己的进程里面, 每个android程序系统都会给他分配一个单独的liunx uid(user id), 每个dvm都是linux里面的一个进程.所以说这两个进程是一个进程. 47. sim卡的EF 文件有何作用 Sim卡相关的东西,没接触过,sim的存储空间。 48. 如何判断是否有SD卡? 配置文件中有sd卡的权限, 通过environment的静态方法, if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { 49. 嵌入式操作系统内存管理有哪几种, 各有何特性。 页式,段式,段页,等 … 50. 什么是嵌入式(对CPU和内存要求比较低,单片机就是嵌入式操作系统)实时操作系统, Android 操作系统属于实时操作系统吗? 实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。 51. 一条最长的短信息约占多少byte? 中文70(包括标点),英文160,160个字节 这个说法不准确, 要跟手机制式运营商等信息有关. 做实验,看源码 ArrayList<String> msgs = sms.divideMessage(message); for (String msg : msgs) { sms.sendTextMessage(phoneNumber, null, msg, pi, null); } 本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5170778.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册