系统变量

下载JDK和Jmeter并设置系统环境变量

别等时光非礼了梦想. 提交于 2019-12-21 11:04:32
一、JDK下载并设置系统环境变量 1、JDK官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 点左边的Java Platform (JDK) 7u51进入下一个下载页面。根据自己电脑的不同下载相应的安装包,由于我装的WIN7 64位系统,所以选对应的64位安装包 2、设置JDK环境变量 (1)右键计算机属性–高级系统设置–系统属性–高级,点下边的环境变量 (2)在新弹出窗口上,点系统变量区域下面的新建按钮,弹出新建窗口,变量名为JAVA_HOME,变量值填JDK安装的最终路径,我这里装的地址是D:\Program Files\Java\jdk1.7.0_51,所以填D:\Program Files\Java\jdk1.7.0_51,点确定完成 (3)下面需要设置Path变量,由于系统本身已经存在这个变量,所以无需新建,在原本基本上添加JDK相关的,找到Path变量双击编辑,由于每个值之间用;符号间断,所以先在末尾加上;(注意是英文格式的,不要输其他符号空格等),加上;符号后在末尾加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,点确定完成 (4)下面添加CLASSPATH变量,由于不存在,所以新建一个,变量名CLASSPATH,变量值%JAVA_HOME%

STM32之系统滴答定时器

拥有回忆 提交于 2019-12-21 04:09:19
一、SysTick(系统滴答定时器)概述   操作系统需要一个滴答定时器周期性产生中断,以产生系统运行的节拍。在中断服务程序里,基于优先级调度的操作系统会根据进程优先级切换任务,基于时间片轮转系统会根据时间片切换任务。总之,滴答定时器是一个操作系统的“心跳”。   Cortex-M3在内核部分封装了一个滴答定时器--SysTick,在之前的ARM内核通常是不会把定时器做进内核,定时器都是SOC厂商自己制作的外设。显然,Cortex-M3封装了这么一个定时器,对于将操作系统移植到不同SOC厂商生产的Cortex-M3系类MCU上,带来了极大的方便。Cortex-M3内核统一了这样的一个系统滴答定时器,移植操作系统的时候可以使用内核的定时器,而忽略掉不同厂商生产定时器带来的分歧。 二、SysTick control and status register(STK_CTRL)   SysTick的控制是极其简单的,它的控制和状态都汇聚在同一个寄存器STK_CTRL上。   STK_CTRL的每一位的含义英文解释都是很清晰的,不必多说。需要额外讨论的是COUNTFLAG标志位,这个标志位代表的含义是:当计数为0时,也即STK_VAL计数至0时,此标志位置1。   经过笔者一番摸索,对此位有更多的看法。 COUNTFLAG:    1、此位与SysTick的中断无关,不是中断标志位

织梦一键快速删除系统自定义变量

妖精的绣舞 提交于 2019-12-21 01:57:38
你是不是有这样的困惑,织梦后台添加自定义变量填错写错了,想重新修改也修改不了,想删除又删除不了,下面介绍个一键快速删除系统变量的方法 1、找到要删除的那个变量名 2、打开后台-系统-SQL命令行工具,执行删除变量语句,例如删除 cfg_qq DELETE FROM `#@__sysconfig` WHERE varname = "cfg_qq"; cfg_qq 换成你自己的就可以了。 来源: CSDN 作者: 风尘旅人 链接: https://blog.csdn.net/zhang01457/article/details/103573409

linux中的bitbake

懵懂的女人 提交于 2019-12-19 08:46:48
linux 中 的Bitbake使用 从根本上说,BitBake是一个通用的任务执行引擎,BitBake允许shell和Python任务在复杂的任务间依赖关系的约束条件下有效地并行运行。 BitBake的主要用户之一是OpenEmbedded,OpenEmbedded使用Bitbake以及面向任务的方法构建嵌入式Linux软件堆栈。 从概念上来说,BitBake在某些方面与GNU Make类似,但是也有明显的区别:   1.BitBake根据构建任务时提供的元数据来执行任务。元数据存储在配方文件(.bb)以及与配方相关的“append”(.bbappend)文件,配置文件(.conf),底层include(.inc)文件,类(.bbclass)文件中。元数据为BitBake提供有关运行哪些任务以及这些任务之间的依赖关系的指示。   2. BitBake包含用于从诸如本地文件,源控制系统或网站等各种地方获取源代码的源代码获取库。   3.用于构建的每个单元(例如,一段软件)的指示被称为“配方(recipe)”文件,配方文件包含关于该单元的所有信息(依赖性,源文件位置,校验和,描述等)。   4.BitBake包括客户端/服务器的抽象,可以从命令行使用或用作XML-RPC上的服务,并具有多个不同的用户界面。 配方(Recipe) 文件扩展名为

Servlet 单例多线程

大城市里の小女人 提交于 2019-12-17 14:34:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 深入研究Servlet线程安全性问题 http://www.cnblogs.com/gw811/archive/2012/09/07/2674859.html Servlet 单例多线程 Servlet如何处理多个请求访问? Servlet容器默认是采用单实例多线程的方式处理多个请求的: 1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例); 2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的<Connector>设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值等等。 3.当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread) 调度它管理下线程池中等待执行的线程(Worker Thread)给请求者; 4.线程执行Servlet的service方法; 5.请求结束,放回线程池,等待被调用; (注意:避免使用实例变量(成员变量),因为如果存在成员变量,可能发生多线程同时访问该资源时,都来操作它,照成数据的不一致,因此产生线程安全问题) 从上面可以看出: 第一:Servlet单实例,减少了产生servlet的开销; 第二

Java深入剖析之JVM

可紊 提交于 2019-12-17 05:56:05
Java运行时数据区: Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域,如图: 1、程序计数器:指向当前线程正在执行的字节码指令。线程私有的。 2、虚拟机栈:虚拟机栈是Java执行方法的内存模型。每个方法被执行的时候,都会创建一个栈帧,把栈帧压人栈,当方法正常返回或者抛出未捕获的异常时,栈帧就会出栈。 (1)栈帧:栈帧存储方法的相关信息,包含局部变量数表、返回值、操作数栈、动态链接 a、局部变量表:包含了方法执行过程中的所有变量。局部变量数组所需要的空间在编译期间完成分配,在方法运行期间不会改变局部变量数组的大小。 b、返回值:如果有返回值的话,压入调用者栈帧中的操作数栈中,并且把PC的值指向 方法调用指令 后面的一条指令地址。 c、操作数栈:操作变量的内存模型。操作数栈的最大深度在编译的时候已经确定(写入方法区code属性的max_stacks项中)。操作数栈的的元素可以是任意Java类型,包括long和double,32位数据占用栈空间为1,64位数据占用2。方法刚开始执行的时候,栈是空的,当方法执行过程中,各种字节码指令往栈中存取数据。 d、动态链接

手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务调度策略(四)

假装没事ソ 提交于 2019-12-16 15:04:12
继续...... 再回到那个重要得函数: void OS_Sched (void) { #if OS_CRITICAL_METHOD == 3u /* Allocate storage for CPU status register */ OS_CPU_SR cpu_sr = 0u; #endif OS_ENTER_CRITICAL(); if (OSIntNesting == 0u) { /* Schedule only if all ISRs done and ... */ if (OSLockNesting == 0u) { /* ... scheduler is not locked */ OS_SchedNew(); OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]; if (OSPrioHighRdy != OSPrioCur) { /* No Ctx Sw if current task is highest rdy */ #if OS_TASK_PROFILE_EN > 0u OSTCBHighRdy->OSTCBCtxSwCtr++; /* Inc. # of context switches to this task */ #endif OSCtxSwCtr++; /* Increment context switch

ESP32 官方文档(二)构建系统

依然范特西╮ 提交于 2019-12-16 14:28:53
转载: ESP32 官方文档(二)构建系统 构建系统 构建系统 使用构建系统 概要 概念 示例项目 项目 Makefile 最小示例 Makefile 强制项目变量 可选项目变量 组件 Makefile 搜索组件 具有相同名称的多个组件 最小组件 Makefile 预设组件变量 可选项目范围的组件变量 可选特定的组件变量 组件配置 示例:添加二进制库、组件配置文件 Kconfig 预处理器定义 构建过程内部 顶级:Project Makefile 第二级:组件Makefile 以非交互方式运行 高级 Make 用法 调试 Make Process 警告未定义的变量 覆盖项目的部分内容 Makefile.projbuild KConfig.projbuild Makefile.componentbuild 仅配置组件 示例组件 Makefile 添加源文件目录 指定源文件 添加条件配置 源代码生成 Cosmetic Improvements 嵌入二进制数据 完全覆盖组件 Makefile 自定义 sdkconfig 默认值 保存 flash 参数 构建 Bootloader 构建系统 本文档解释了 Espressif 物联网开发框架构建系统和“组件”的概念. 如果您想知道如何组织新的 ESP-IDF 项目,请阅读本文档. 我们建议使用 esp-idf-template

类加载器&反射&模块化

删除回忆录丶 提交于 2019-12-16 02:12:44
1.类加载器 1.1类加载【理解】 类加载的描述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化 类的加载 就是指将class文件读入内存,并为之创建一个 java.lang.Class 对象 任何类被使用时,系统都会为之建立一个 java.lang.Class 对象 类的连接 验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致 准备阶段:负责为类的类变量分配内存,并设置默认初始化值 解析阶段:将类的二进制数据中的符号引用替换为直接引用 类的初始化 在该阶段,主要就是对类变量进行初始化 类的初始化步骤 假如类还未被加载和连接,则程序先加载并连接该类 假如该类的直接父类还未被初始化,则先初始化其直接父类 假如类中有初始化语句,则系统依次执行这些初始化语句 注意:在执行第2个步骤的时候,系统对直接父类的初始化步骤也遵循初始化步骤1-3 类的初始化时机 创建类的实例 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象 初始化某个类的子类 直接使用java.exe命令来运行某个主类 1.2类加载器【理解】 1.2

IBM Developer:Java 9 新特性概述

萝らか妹 提交于 2019-12-16 00:54:24
Author: 成富 Date: Dec 28, 2017 Category: IBM-Developer (20) Tags: Java (27) 原文地址:https://www.ibm.com/developerworks/cn/java/the-new-features-of-Java-9/index.html Java 9 正式发布于 2017 年 9 月 21 日 。作为 Java8 之后 3 年半才发布的新版本,Java 9 带来了很多重大的变化。其中最重要的改动是 Java 平台模块系统的引入。除此之外,还有一些新的特性。本文对 Java 9 中包含的新特性做了概括性的介绍,可以帮助你快速了解 Java 9。 Java 平台模块系统 Java 平台模块系统,也就是 Project Jigsaw,把模块化开发实践引入到了 Java 平台中。在引入了模块系统之后,JDK 被重新组织成 94 个模块。Java 应用可以通过新增的 jlink 工具,创建出只包含所依赖的 JDK 模块的自定义运行时镜像。这样可以极大的减少 Java 运行时环境的大小。这对于目前流行的不可变基础设施的实践来说,镜像的大小的减少可以节省很多存储空间和带宽资源。 模块化开发的实践在软件开发领域并不是一个新的概念。Java 开发社区已经使用这样的模块化实践有相当长的一段时间。主流的构建工具,包括