系统变量

(转)Java 详解 JVM 工作原理和流程

不打扰是莪最后的温柔 提交于 2019-11-28 14:58:09
(转)Java 详解 JVM 工作原理和流程 作为一名Java使用者,掌握JVM的体系结构也是必须的。 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: 运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。 Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上。这个平台的结构如下图所示: 在Java平台的结构中, 可以看出,Java虚拟机(JVM) 处在核心的位置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统, 其中依赖于平台的部分称为适配器;JVM 通过移植接口在具体的平台和操作系统上实现;在JVM 的上方是Java的基本类库和扩展类库以及它们的API, 利用Java API编写的应用程序(application) 和小程序(Java applet)

小菜鸟之数据库

拈花ヽ惹草 提交于 2019-11-28 08:39:50
数据库复习提纲之文字版(这个只是自己整理文案,答案是查的,勿喷,谢谢,希望给别人一些帮助) 1 、 Oracle和 SQL server2005的区别 Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是 甲骨文公司 的一款 关系数据库管理系统 。 它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 sql server数据库:美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的 数据库管理系统 ,实现了与WindowsNT的有机结合,提供了基于 事务 的企业级信息管理系统方案 两者的区别: (1)操作的平台不同 Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。   但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性

【Django】模板系统

梦想与她 提交于 2019-11-28 08:06:44
目录 一、变量 二、过滤器 Filters 2. length 3. filesizeformat 4. slice 5. add 6. first、last 7. join 8. truncatechars 9. truncatewords 10. date 11. safe 12. cut 13. lower、upper、title、ljust、rjust、center 14. 自定义filter 15. Tags 16. csrf_token 三、母板 模版继承 块(block) 四、组件 五、静态文件相关 使用get_static_prefix 自定义simpletag_tag 自定义inclusion_tag 原文: http://blog.gqylpy.com/gqy/261 @ 官方文档 两种特殊符号:=={{ }}== 与 =={% %}== 变量相关使用{{ }},逻辑相关使用{% %}. 一、变量 在Django模版语言中按此语法使用: {{ 变量名 }} **当模版引擎遇到一个变量时,它将计算这个变量,然后用结果替换它本身. 变量的命名包括任何字母数字以及下划线(_)的组合. 变量名称中不能有空格或标点符号.** 点(.) 在模版语言中有特殊的含义,当模版系统遇到点时,它将以以下顺序查询: 字段查询(Dictionary lookup) 属性或方法查询

Tensorflow中的图(tf.Graph)和会话(tf.Session)详解

做~自己de王妃 提交于 2019-11-28 06:05:50
Tensorflow中的图(tf.Graph)和会话(tf.Session) Tensorflow编程系统 Tensorflow工具或者说深度学习本身就是一个连贯紧密的系统。一般的系统是一个自治独立的、能实现复杂功能的整体。系统的主要任务是对输入进行处理,以得到想要的输出结果。我们之前见过的很多系统都是线性的,就像汽车生产工厂的流水线一样, 输入->系统处理->输出 。系统内部由很多单一的基本部件构成,这些单一部件具有特定的功能,且需要稳定的特性;系统设计者通过特殊的连接方式,让这些简单部件进行连接,以使它们之间可以进行数据交流和信息互换,来达到相互配合而完成具体工作的目的。 对于任何一个系统来说,都应该拥有稳定、独立、能处理特殊任务的单一部件;且拥有一套良好的内部沟通机制,以让系统可以健康安全的运行。 现实中的很多系统都是线性的,被设计好的、不能进行更改的,比如工厂的流水线,这样的系统并不具备自我调整的能力,无法对外界的环境做出反应,因此也就不具备“智能”。 深度学习(神经网络)之所以具备智能,就是因为它具有 反馈机制 。深度学习具有一套对输出所做的评价函数(损失函数),损失函数在对神经网络做出评价后,会通过某种方式(梯度下降法)更新网络的组成参数,以期望系统得到更好的输出数据。 由此可见,神经网络的系统主要由以下几个方面组成: 输入 系统本身(神经网络结构)

shell 中的变量

混江龙づ霸主 提交于 2019-11-28 05:43:15
变量的定义 变量即在程序运行过程中它的值是允许改变的量。 变量是用一串固定的字符来标示不固定的值的一种方法。 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息。 在 shell 中变量是不能永久保存在系统中的,必须在文件中声明。 变量的种类及定义方法 在 shell 中变量分为环境级变量,用户级变量,系统级变量: 环境级变量只在当前 shell 中生效, shell 关闭变量丢失 未声明之前,只在当前shell中生效: 声明:export redhat=1,声明之后,在所有shell中生效: 用户级变量写在用户的骨文件中,只针对当前用户生效 su - 切换用户,读取bashrc和profile,读取用户环境 profile 环境信息 bash shell配置 su 切换用户,只读取bash,不读取用户环境 vim ~/.bash_profile export a=10 未声明之前,环境文件中写的配置不起作用: 声明之后,只对应用当前用户环境的用户生效: source ~/.bash_profile 要想删除用户级变量,只需将环境文件中的配置信息删掉,之后再声明一下,就可以重新定义变量: 系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效 vim /etc

Ubuntu Server : 自动更新

試著忘記壹切 提交于 2019-11-28 02:43:15
Ubuntu(16.04/18.04) 默认会每天自动安装系统的安全更新,但是不会自动安装包的更新。本文梳理 Ubuntu 16.04/18.04 系统的自动更新机制,并介绍如何配置系统自动更新所有的包。说明:简单起见,本文中使用 Ubuntu 指代 Ubuntu 16.04/18.04。 系统需要更新 当我们远程登录系统时,会收到如下图所示的更新相关的消息: 红框中的第一行文字说明系统中有 149 个包需要更新。第二行说明没有安全相关的包需要更新。之所以会这样,是因为 Ubuntu 默认的配置会每天自动安装安全更新而忽略其它包的更新。接下来我们就介绍 Ubuntu 中的自动更新机制。 通过定时任务执行更新 Ubuntu 默认定义了 4 个 systemd unit 执行更新任务,它们分别是: /lib/systemd/system/apt-daily-upgrade.service /lib/systemd/system/apt-daily-upgrade.timer /lib/systemd/system/apt-daily.service /lib/systemd/system/apt-daily.timer 其中的 apt-daily.timer 和 apt-daily-upgrade.timer 是两个触发器,分别在每天指定的时间触发 apt-daily.service

Jvm 系列(一):Java 类的加载机制

本小妞迷上赌 提交于 2019-11-28 01:13:02
1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。 类加载器并不需要等到某个类被“首次主动使用”时再加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了.class文件缺失或存在错误,类加载器必须在程序首次主动使用该类时才报告错误(LinkageError错误)如果这个类一直没有被程序主动使用,那么类加载器就不会报告错误 加载.class文件的方式 从本地系统中直接加载 通过网络下载.class文件 从zip,jar等归档文件中加载.class文件 从专有数据库中提取.class文件 将Java源文件动态编译为.class文件 2、类的生命周期 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始

【Django】模板系统

非 Y 不嫁゛ 提交于 2019-11-27 20:49:16
目录 一、变量 二、过滤器 Filters 2. length 3. filesizeformat 4. slice 5. add 6. first、last 7. join 8. truncatechars 9. truncatewords 10. date 11. safe 12. cut 13. lower、upper、title、ljust、rjust、center 14. 自定义filter 15. Tags 16. csrf_token 三、母板 模版继承 块(block) 四、组件 五、静态文件相关 使用get_static_prefix 自定义simpletag_tag 自定义inclusion_tag "@ 官方文档 两种特殊符号:=={{ }}== 与 =={% %}== 变量相关使用{{ }},逻辑相关使用{% %}. 一、变量 在Django模版语言中按此语法使用: {{ 变量名 }} **当模版引擎遇到一个变量时,它将计算这个变量,然后用结果替换它本身. 变量的命名包括任何字母数字以及下划线(_)的组合. 变量名称中不能有空格或标点符号.** 点(.) 在模版语言中有特殊的含义,当模版系统遇到点时,它将以以下顺序查询: 字段查询(Dictionary lookup) 属性或方法查询(Attribute or method lookup) 数字索引查询

jdk的下载和环境配置

丶灬走出姿态 提交于 2019-11-27 18:40:29
2019-08-18 下载jdk https://www.oracle.com/technetwork/java/javase/downloads/index.html 选择download 选择对应的版本下载 安装位置 配置环境变量 在 Linux 上 , 需要在~/ . bashrc 或 ~/ . bash _ profile 文件的最后增加这样一行 : export PATH=jdk路径/bin:SPATH 一定要使用jdk的正确路径 如/opt/jdk1.8.0_31 window, 在系统变量中添加JAVA_HOME变量 值填写jdk安装路径 在系统变量Path中添加新的值 用以执行java自带的编译执行程序 在系统变量classpath中添加 用以告诉jvm用户自己的java文件位置 测试环境是否配置成功 win+R cmd打开window命令行窗口 输入java -version 显示java版本 环境配置成功 在命令行中使用javac 命令编译.java 文件 使用java 命令 运行编译后的.class文件 来源: https://www.cnblogs.com/tdcqkfk/p/11372613.html

java ->final、finally、finalize的区别

僤鯓⒐⒋嵵緔 提交于 2019-11-27 16:52:36
final :全局变量声明的时候使用,意思是这个变量 不可被修改 , 不可被override (重写),一般用于声明常量,或者系统设置的值,用它修饰的类 不可被继承 。 例子: public static final String a = "123" 意思是: 公共的(所有范围可见),静态的(系统中只存在一个),final的(不可被更改) 变量a,值是123 finally :在 try-catch-finally 块中配套使用,作用是,不管代码执行了try还是catch,最后 一定会执行 finally里面的代码 例子: try{  这里写一些可能出现异常的代码 }catch(Exception e){  出现了异常就执行这里的代码。否则不执行 }finally{  无论有没有异常,都执行这里的代码 } finalize :召唤垃圾收集器的命令,使用此方法后,系统就安排一次 垃圾回收 但是不是立即执行,执行的时间点是无法确定的。 没有特别的要求的话一般不需要使用finalize(),交给 gc 自己管理就好。 来源: https://www.cnblogs.com/miaoxingren/p/9534534.html