- 操作系统学习记录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被置
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><