- 操作系统学习记录I——Bochs安装和配置
E玖玖驷
1.概述相信不少对操作系统内核编程有兴趣的朋友或多或少都接触过于渊的《orange's一个操作系统的实现》,作为大三刚接触操作系统的笔者来说os内核无疑是神秘而充满吸引力的,因此在这里记录和分享一下对本书中实验操作的一些学习经历。博客内容大体就是原书中的内容,作者对各部分的介绍已经比较详细了,读者也可以自行查找资源学习。博客中会分享一些实验中遇到的问题,比如环境配置以及因为软硬件版本更新导致的一些
- 一次操作系统之旅
bazinga_dmc
前言题目取的有些诗意了,实际上这篇文章是我读完于渊的《一个操作系统的实现》后对该书的总结和评价。本人非科班出身(通信专业),对操作系统底层的工作原理一直有种执念,偶然的机会看到了这本书,花了两个月时间从头到尾读了一遍,我把书中的源码读完理解之后重写了一遍。如果你也想实现一个小的操作系统却又不知从何下手,这本书确实是一个不错的选择。这本书完全是从零开始搭建了一个可以通过软盘/硬盘引导的微内核操作系统
- 【OS课设日志】《Orange‘S:一个操作系统的实现》Ch5
叫北方
c语言linux开发语言ubuntu
【OS课设日志】《Orange‘S:一个操作系统的实现》第五章——内核雏形实验内容:在Linux下用汇编写Hello,World!;进一步,汇编和C同时使用;从loader到kernel内核,把kernel内核加载到内存;将控制权交给kernel内核;跳入保护模式,并显示内存的使用情况。5.1在Linux下用汇编写HelloWorld实验步骤①创建hello.asm文件②编译链接(每执行一步都用l
- Orange‘s:一个操作系统的实现学习笔记3
超大青花鱼
学习bashlinux
前面几期文章Orange‘s:一个操作系统的实现学习笔记1:https://blog.csdn.net/weixin_42193791/article/details/123144920Orange‘s:一个操作系统的实现学习笔记2:https://blog.csdn.net/weixin_42193791/article/details/123039173文章目录前面几期文章一、前言二、代码实现
- Orange‘s:一个操作系统的实现学习笔记2
超大青花鱼
学习
第三章第一节代码运行实录前言代码实现了什么操作流程代码+注释运行效果一些问题1.段描述符的结构2.段选择子的结构3.地址转换4.GDTR的结构5.打开A20地址线6.CR0寄存器的结构7."$"前言去年就开始学习Orange’s:一个操作系统的实现,今年记录并总结一下学习中遇到的一些问题,由于我汇编基础几乎为0,对计算机也不是很了解,所以写的这些注释和总结难免会有错误和纰漏,敬请原谅。此篇笔记抄的
- VMWare虚拟机启动img文件
我要出家当道士
开发环境搭建与使用自制操作系统img虚拟机
最近在学习制作操作系统,主要跟着《30天自制操作系统》、《Orange’S:一个操作系统的实现》这两本书进行学习,书中编译好的img文件写入软盘进行运行,相信绝大多数人都不用这玩意了,那怎么办呢?当然是用虚拟机呀,嘿嘿嘿。虚拟机也有很多种,看别人推荐的QEMU来运行,但要花时间熟悉命令行,不想把时间浪费在这。最后决定使用VMWare虚拟机。步骤如下:1、找一个已经存在的虚拟机,编辑虚拟机设置2、点
- 十分钟完成的操作系统at&t汇编版本-《一个操作系统的实现》
快给我饭吃
以前看了《一个操作系统的实现》这本书,使用了nasm汇编和bochs虚拟机来编写一个“操作系统”。做了清华大学ucore实验后,我感觉使用at&t汇编和qemu虚拟机来实现一个“操作系统”更加容易调试操作系统,因此改写了成at&t版本。at&t汇编版本代码如下:.code16.section.text.global_start_start:movw%cs,%axmovw%ax,%dsmovw%ax
- 【Linux内核分析】学习笔记1:保护模式
蝉鸣的夏天
Linux内核分析学习笔记
教材老师推荐的参考阅读书籍是:于渊.Orange’s:一个操作系统的实现,电子工业出版社,2009毛德操,胡希明.LINUX内核源代码情景分析(上册),浙江大学出版社,2001.09保护模式(ProtectedMode)实模式实地址模式(RealAddressMode)通过20位地址分段访问1MB地址空间程序可以直接访问BIOS中断和外设硬件层不支持任何内存保护或者多任务处理80286之后的所有x
- bochs虚拟机的安装 - 动手写一个最小的操作系统环境搭建
快给我饭吃
最近在研究操作系统,读了理论的书籍后,打算自己实现一遍,加深理解。因此选了于渊老师的书《Orange'S一个操作系统的实现》跟着书实战一遍。在安装bochs虚拟机过程中遇到一些问题并已解决,特记录在此。我的环境:宿主机为win10虚拟机为vagrant(底层是virtualbox),这里使用virtualbox,vmware都是可以的虚拟机中的系统为CentOS7,命令行版,无界面。当然,这里如果
- 《一个操作系统的实现》windows用vm安装CentOS——从bochs环境搭建到第一个demo跑通
喂-不吃素的熊宝宝
windowscentoslinux
vm安装CentOS虚拟机带有桌面的版本。su输入密码123456。更新yum-yupdate。一般已经安装好后面这2个工具:yuminstall-ynet-toolswget。看下ip地址ifconfig,然后本地终端连接
[email protected]输入密码即可,主要是为了复制网址方便些。大概率wgethttps://nchc.dl.sourceforge.net/projec
- 一个操作系统的实现-于渊
快给我饭吃
操作系统是处于硬件和软件之间的,所以开发操作系统其实就是按硬件的要求来实现自己的功能。即微软是按照Intel手册来做开发的。附Intel开发者手册官网:https://software.intel.com/en-us/articles/intel-sdmCPU手册:https://www.intel.com/content/www/us/en/architecture-and-technology
- Linux-0.11操作系统源码调试
chaoguo1234
linux运维服务器ubuntu
学习操作系统有比较好的两种方式,第一种是跟着别人写一个操作系统出来,《操作系统真相还原》、《Orange's:一个操作系统的实现》等书就是教学这个的;另一种方式就是调试操作系统源码,相比第一种方式,调试源码可以更能感受真实操作系统的实现机制。Linux-0.11是Linux最早期的代码,它包含现代操作系统的所有雏形,代码体量也不大,非常适合对操作系统进行源码学习。下面记录在Ubuntu22上面编译
- ubuntu下bochs的安装和配置
CattleyaQ
操作系统osubuntu虚拟机
《ORANGE’S:一个操作系统的实现》一书中选择使用虚拟计算机Bochs进行仿真。Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。
- 【从头开始写操作系统系列】环境搭建以及第一个Hello World
ly72809
笔者在动手写此操作系统时是一名大学本科大二的学生,可能文章中会有好多地方我没有解释清楚,可能也会有许多地方出现错误,我恳请各位读者能提出质疑和纠正我的错误,谢谢!参考书籍:《30天自制操作系统》川合秀实《ORANGE’S:一个操作系统的实现》##开发环境笔者采用以下开发环境AppleMacbookAirUbuntu12.04LTS(32bit)##读者准备毕竟是动手写一个操作系统,对读者的要求也会
- OrangeS操作系统笔记1_环境的配置与第一个系统
新奥尔良乳猪
前言开始学习Orange’s:一个操作系统的实现,记录并总结一下学习中遇到的一些问题,由于我汇编基础几乎为0,对计算机也不是很了解,所以写的这些注释和总结难免会有错误和纰漏,敬请原谅。此篇笔记参考了很多文章,如果笔记有侵权的地方,请联系我我会删除。环境的配置主要是nasm和bochs的安装我用的VMware12和Ubuntu20.02软件安装sudoapt-getinstallnasmsudoap
- 【日拱一卒行而不辍20220919】自制操作系统
明天已在HiaHia
LinuxOS开发语言linux
打开A20地址线-初次运行参照《ORANGE’S:一个操作系统的实现》以下是pm.inc1DA_32EQU4000h;32位段23DA_DPL0EQU00h;DPL=04DA_DPL1EQU20h;DPL=15DA_DPL2EQU40h;DPL=26DA_DPL3EQU60h;DPL=378;存储段描述符类型9DA_DREQU90h;存在的只读数据段类型值10DA_DRWEQU92h;存在的可读写
- 【日拱一卒行而不辍20220916】自制操作系统
明天已在HiaHia
LinuxOSjava数据库开发语言
Windows下利用QEMU实现HelloOS参照《ORANGE’S:一个操作系统的实现》汇编源码如下:boot.asmorg07c00h;wherethecodewillberunningmovax,csmovds,axmoves,axcallDispStr;let'sdisplayastringjmp$;andloopforeverDispStr:movax,BootMessagemovbp,
- Bochs源码安装及运行调试
weiwei22844
Linux相关系统相关
最近在读《Orange's一个操作系统的实现》,开始部分介绍了虚拟机Bochs的安装及调试,本文把折腾过程做下记录。操作系统:Ubuntu10.04(最新的版本老是有问题)软件版本:bochs2.3.5(和书中保持一致)1更新Ubuntu由于ubuntu10.04是很老的版本,早在2016年已停止了更新支持,直接sudoapt-getupdate会失败,好在ubuntu提供了old-release
- 调用BIOS中断显示Hello World
xiaominthere
自己动手写操作系统之旅
今天又回过头去把第一个显示“Hello,OSworld”的程序看了一遍,所谓温故而知新嘛,虽然简单但是也很重要。参考资料:《一个操作系统的实现》,《Linux内核设计的艺术》(新设计团队著,也推荐一下这本书,写的是关于linux内核讲解的书,写的很好,被翻译成了繁体和英语)好的,关于下面的代码进行一下解释,虽然比较简,但是写下来,以后想不起来也可以翻出来看。1.电脑的启动:电脑加电以后通过硬件逻的
- 1 在Bochs上运行第一个OS
河职院杨浪
自己动手写操作系统
05年底就卖了第一版《自己动手写操作系统》,也将其陆陆续续读完。09年第二版《Orange’s一个操作系统的实现》出版后,也将其购入。随手翻来,发现云里雾里,几年前的理解早就抛光,重读已是困难重重。既然写代码要有注释,读书亦要有注释。1搭建OS开发环境第一步:安装Ubuntu10.04。具体安装过程可参考《鸟哥的Linux私房菜基础学习篇》第四章。第二步:安装GCC和NASM。在Ubuntu终端命
- bochs 2.4.2 ubuntu 安装运行问题《orange's 一个操作系统的实现》第二章 调试篇
evil_darker
Linux编程
用源码安装完后会遇到的问题:《1》运行可能碰到如下问题:Eventtype:PANICDevice:[]Message:dlopenfailedformodule'x':filenotfound这是由于在安装的时候,少安装了个bochs-x包这个包可以在http://packages.ubuntu.com/dapper/misc/bochs-x找到也可以在terminal下面输入sudoapt-g
- 如何在64位的linux系统上使用汇编和C语言混合编程
csid_502
最近在看于渊的一个操作系统的实现,在第五章的时候汇编和C同时使用时碰到了问题:代码如下foo.s1externchoose23;;;;;thedataarea4num1stdd35num2nddd467global_start8globalmyprint91011_start:1213pushdword[num1st]14pushdword[num2nd]1516callchoose17addes
- 笔记:一个操作系统的实现第一章boot.asm文件分析
weixin_33786077
2019独角兽企业重金招聘Python工程师标准>>>分析在后面,刚学习汇编。源代码如下:org07c00hmovax,csmovds,axmoves,axcallDispStrjmp$DispStr:movax,BootMessagemovbp,axmovcx,16movax,01301hmovbx,000chmovdl,0int10hretBootMessage:db"Hello,OSWorl
- 《一个操作系统的实现》读书笔记--第三章--保护模式
要饭真得好难
操作系统
pmtest1.asm;pmtest1.asm;编译方法:nasmpmtest1.asm-opmtest1.com;==========================================%include"pm.inc";常量,宏,以及一些说明org0100hjmpLABEL_BEGIN[SECTION.gdt];GDT;段基址,段界限,属性LABEL_GDT:Descriptor0,
- 《一个操作系统的实现》笔记(7)--输入/输出系统(I/O)
Felixabcd
操作系统
键盘很简单,只要设置8259A芯片的键盘端口的handler处理函数就可以了。键盘敲击的过程键盘编码器,用于监视键盘的输入,并把适当的数据传送给计算机。键盘控制器,用来接受和解码来自键盘的数据,并与8259A以及软件等通信。敲击键盘包含两个含义:动作和内容。敲击键盘所产生的编码被称作扫描码。当8048检测到一个键的动作后,会把相应的扫描码发送给8042,8042会把它转换成相应的Scancode1
- ORANGE’S:一个操作系统的实现-chap4之:软盘结构(磁头号和起始扇区的计算方法)
花火后的天空
linux
;----------------------------------------------------------------------------;函数名:ReadSector;----------------------------------------------------------------------------;作用:;从第ax个Sector开始,将cl个Sector读入
- 操作系统内核Hack:(三)引导程序制作
weixin_30293079
操作系统内核Hack:(三)引导程序制作关于本文涉及到的完整源码请参考MiniOS的v1_bootloader分支。1.制作方法现在我们已经了解了关于BootLoader的一切知识,让我们开始动手做一个BootLoader吧!但真正开始之前,我们还要做出一个选择,在之前的讨论中我们曾说过,有两种学习和制作引导程序和操作系统内核的路线:1)《Orange’s:一个操作系统的实现》书中的路线;2)Li
- 《Orange'S:一个操作系统的实现》学习笔记(三)--bochs
stepbystep
操作系统
由于命令直接安装的bochs可能没有调试功能,所以需要下载bochs源码并编译安装。下载地址:http://sourceforge.net/projects/bochs/files/bochs/下载最新的2.6版本的bochs进行编译安装:$cd~/bochs-2.6/$./configure--enable-debugger--enable-disasm$make$sudomakeinstall
- oranges一个操作系统的实现笔记二
xf807989
orange一个操作系统的实现
第二章节保护模式继续鉴于实模式下只有1M的寻址能力,所以要在保护模式下验证他能否读写大内存的地址。1.跳出保护模式:具体步骤如下:1.先把各个寄存器设置到一个适合回到实模式的值。2.置位cr0的PE位为0.3.跳回到实模式。4.恢复实模式下各个寄存器包括sp的值。5.关闭A20地址线。6.开中断。7.回到dos。具体怎么读写大内存地址,我就不说了,反正是可以的,也不难。LDT:要注意的地方:1.申
- Orange's:一个操作系统的实现 Descriptor 3宏详解
依然笨拙
一个操作系统的实现
补充:关于GDT/LDT、段选择子和段描述符的解释GDT/LDT:GDT/LDT是段描述符表,里面定义了每个段的段描述符的界限和属性,而段描述符的基址是在代码段中初始化的。其中,LDT是局部描述符表,LDT在GDT中也有段描述符,LDT还有其对应的选择子,除此以外,LDT的功能和GDT一样。段选择子:段选择子是用来寻址段描述符的,即段描述符定义在GDT中,由段选择子将其赋值给段寄存器。如果TI被置
- 二分查找排序算法
周凡杨
java二分查找排序算法折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
- java中的BigDecimal
bijian1013
javaBigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
- Shell echo命令详解
daizj
echoshell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
- Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
- 画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
- 线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
- linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
- mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
- Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
- 多线程监听器事件模式(一个简单的例子)
百合不是茶
线程监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
- spring InitializingBean接口
bijian1013
javaspring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
- Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle数据库权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
- 【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
- 【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
- nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
- java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
- Spring源码学习-JdbcTemplate queryForObject
bylijinnan
javaspring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
- [冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
- js 获取浏览器型号
cuityang
js浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
- C# socks5详解 转
dalan_123
socketC#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
- 运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
- Yii防注入攻击笔记
dcj3sjt126com
sqlWEB安全yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
- MongoDB简介[一]
eksliang
mongodbMongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
- zookeeper windows 入门安装和测试
greemranqq
zookeeper安装分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
- Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
- iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
- jdk与jre的区别(_)
macroli
javajvmjdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
- Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境每天进步一点点众观千象git
$ git push joe prod-2295-1
To
[email protected]:joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
- [一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hivehive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
- Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。