- Linux-0.11内核分析07:缓冲区与多进程操作文件
卡咖喱
嵌入式linux内核操作系统c语言
1.缓冲块的进程等待队列A为一个读盘进程,目的是将hello.txt中的100字节读入buffer[100]中B为一个读盘进程,目的是将hello.txt中的200字节读入buffer[200]中C为一个写盘进程,目的是将hello.txt写入字符串”ABCDE”三个进程执行顺序为A–>B–>C,进程间没有父子关系//进程A打开文件---fs---open.c---sys_open()---(cu
- LInux-0.11
泰勒朗斯
硬件汇编
文章目录前言学习资料正文前言B站视频链接linux0.11内核代码学习资料正文一个山区512字节
- 操作系统实验一到实验九合集(哈工大李治军)
好春光不如梦一场-Ry67
哈工大操作系统实验linux操作系统ubuntubash
操作系统实验作者寄语操作系统实验的学习是一个循序渐进的过程,初次看linux-0.11中的代码,看着满屏的汇编语言,确实头疼。但通过学习赵炯博士的Linux内核0.11完全注释,结合着王爽老师的汇编语言一书,我逐渐理解每段汇编语言的含义和作用。本文主要是通过对哈工大李治军配套实验的实现,着重解释每一段的汇编代码,使读者对实验的整体脉络有一个初步的认识,不再因为畏惧汇编而不放弃实验。本文只是抛砖引玉
- setup.s 分析—— Linux-0.11 学习笔记(二)
车子 chezi
Linux-0.11Linux0.11
更新记录版本时间修订内容1.02018-4-14增加了“获取显示模式”这一节,AL取值的表格标题:setup.s分析——Linux-0.11学习笔记(二)老规矩,为了节省篇幅,完整的代码就不贴了。定义符号常量INITSEG=0x9000!bootsect.s的段地址SYSSEG=0x1000!systemloadedat0x10000SETUPSEG=0x9020!本程序的段地址注意:以上这些参数
- main函数解析(一)——Linux-0.11 学习笔记(五)
车子 chezi
Linux-0.11Linux0.11
main()函数解析(一)——Linux-0.11学习笔记(五)经过了前面的各种铺垫,终于来到了main函数。这篇博客的任务是把init/main.c讲清楚。由于牵扯到很多的函数调用,要想一次就说明白是很难的,所以我们把目标定得低一点,把脉络理清楚就行。1.宏定义_syscall0文件开头的头文件包含等就不多说了。对于C语言比较熟悉的朋友,我想第一个拦路虎就是“GCC内嵌汇编”。staticinl
- 在 Alpine Linux 上编译 Linux0.11 内核
Zetao_Yang
linuxtoolsvirtualboxlinux内核
本文转自我的个人博客:https://zetaoyang.github.io,欢迎大家来访哦。近日,想在Windows系统下编译Linux-0.11内核。于是就在VirtualBox中安装了AlpineLinux3.4。其中VirtualBox下的网络配置如下:使用2块网卡,第一块设置为host-only方式:第二块设置为nat方式:其中,VirtualBoxHost-OnlyEthernetAd
- 抄写Linux源码(Day6:读闪客文章第一回 “最开始的两行代码”)
shimly123456
抄写Linux内核源码系统安全
按照Day1完成了Linux0.11的运行之后,可以在~/oslab/linux-0.11找到linux0.11的源码根据闪客的文章第一回:https://mp.weixin.qq.com/s/LIsqRX51W7d_yw-HN-s2DALinux0.11的启动代码程序入点在./boot/bootsect.s里,总共512个字节,如下:这个bootsect.s会被编译成二进制文件,存放在启动区的第
- linux-0.11 文件系统
wit_yuan
1.简介文件系统是数据的组织方式,也就是将它们组织的符合一定的格式或者规律,就命名为文件系统了,并不神秘。linux-0.11将文件系统分成几个部分,分别为:超级块,i-node节点位图,块位图,数据块。先说明几个讲解linux-0.11书籍:1.linux-0.11内核完全注释2.linux内核设计的艺术linux内核设计的艺术写的挺不错的。可以先简单的阅读一遍这本书然后再看linux-0.11
- Linux 0.11 实验环境一键配置脚本(2020年版)
何人听我楚狂声
序言本文原载于我的博客,地址:https://blog.guoziyang.top/archives/52/声明:本脚本用于配置哈工大操作系统实验所需环境,主要包含Bochs虚拟机和Linux-0.11的源码本脚本基于hoverwinter的一键配置脚本制作,制作过程中借鉴了deathking的一键配置脚本,修复了脚本在最新的Ubuntu与Debian上的一些问题,并添加了Arch系发行版支持,感
- 抄写Linux源码(Day1:获取并运行 Linux0.11)
shimly123456
linux运维服务器
Day1:获取并运行Linux0.11参考资料:https://zhuanlan.zhihu.com/p/438577225这是我参考的一个别人写的Linux0.11解读:https://github.com/dibingfa/flash-linux0.11-talk我获取Linux-0.11源码的链接:https://github.com/Wangzhike/HIT-Linux-0.11.git
- linux-0.11在gcc-4.3.0版本以上的编译和调试
内核新视界
linuxlinux-0.11内核
2020更新:解决所有编译警告。在《Linux内核完全注释》一书中配置的环境只在CentOS7上使用gcc-3.x编译成功并且运行,但书中对源码和Makefile的修改并不能用在gcc-4.x以上的版本。主要可能会出现以下问题:大块数据拷贝方向位不正确。string.h中字符串操作导致数据和指针出现奇怪改变。启用-On优化后出现问题(比如-O2优化会去优化链接顺序导致入口函数不正确)。get_fs
- 哈工大操作系统实验二(整理自用)
小蓝的快乐学习之旅
linuxwindows
一、实验内容此次实验的基本内容是:在Linux-0.11上添加两个系统调用,并编写两个简单的应用程序测试它们。(1)iam()第一个系统调用是iam(),其原型为intiam(constchar*name);完成的功能是将字符串参数name的内容拷贝到内核中保存下来。要求name的长度不超过23个字符。返回值是拷贝的字符数。如果name的字符个数超过23,则返回“-1”,并置errno为EINVA
- Linux-0.11操作系统源码调试
chaoguo1234
linux运维服务器ubuntu
学习操作系统有比较好的两种方式,第一种是跟着别人写一个操作系统出来,《操作系统真相还原》、《Orange's:一个操作系统的实现》等书就是教学这个的;另一种方式就是调试操作系统源码,相比第一种方式,调试源码可以更能感受真实操作系统的实现机制。Linux-0.11是Linux最早期的代码,它包含现代操作系统的所有雏形,代码体量也不大,非常适合对操作系统进行源码学习。下面记录在Ubuntu22上面编译
- 在WSL-Ubuntu上编译linux-0.11
米西狮子
WindowsSubsystemforLinux前些天,在公众号上看到WSL(WindowsSubsystemforLinux),便试了试。最近正好有操作系统的实验(操作系统原理与实践-实验楼),又不想在网页linux上面做实验,所以就下载了源码,想在WSL上面做实验,编译一下linux-0.11并用bochs模拟运行一下。在此记录一下遇到的问题及解决:1.缺少gcc-3.4:在实验给的MakeF
- Linux中文件系统truncate.c详解
目录Linux-0.11文件系统truncate.c详解free_indfree_dindtruncateLinux-0.11文件系统truncate.c详解free_indstaticvoidfree_ind(intdev,intblock)该函数的作用是释放所有的一次间接块。该函数首先读取一次间接块到bh中,该bh块中存储了512个盘块号。structbuffer_head*bh;unsign
- Linux0.11内核源码
蜉蝣1号
linuxlinux服务器
源码地址:http://www.oldlinux.org/Linux.old/Linux-0.11/sources/system/Linux0.11内核源码有中文注释版,显得有点乱,英文原版在上面的地址里。Linux0.11属于老代码,所以在kernel.org内核官网已经不存在了。
- Linux-0.11内核-阅读笔记-第一章
蜉蝣1号
linuxlinux运维服务器
第一章从开机加电到执行main函数之前的过程Linux-0.11源码:http://www.oldlinux.org/Linux.old/Linux-0.11/sources/system/我打算从CPU的角度来看操作系统加载的过程。主演:CPU喽喽1号:内存(RAM)喽喽2号:BIOS(ROM)客串人员:软盘问题:操作系统的main函数被执行前,电脑里发生什么?第一幕:开场CPU无所事事,内存(
- Linux内核的Linux开发环境搭建
「已注销」
环境搭建Linuxllinux-0.11内核LinuxMint
虚拟机下搭建Linux-0.11的Linux实验环境机器配置:Windows10Professional1809VMWareWorkstation15Prolinuxmint-19.1-cinnamon-64bit.iso做OS课程设计,课题实验是参考于哈工大OS课程的实验课指导,可参考HIT-OS-MANUAL,原文是哈工大一位学长的实验记录,在此表示敬意。仅对于在实验指导下自己遇到的坑加以描述
- 哈工大操作系统实验坏境搭建
Paranoid☆
操作系统#操作系统实验课linux自动驾驶tcp/ip
学习目标:在Linux搭建Linux-0.11实验环境学习内容:1.将笔记后面的资源下载下来,并通过FTP传输到Linux上FTP的使用:FTP文件传输2.安装GCC3.4(1)解压tar-zxvfgcc-3.4.tar.gz(2)进入解压后的文件并安装进入目录:cdgcc-3.4可以看到有两个目录:amd64,i386,amd64目录下存放的是64位操作系统安装gcc3.4的包,i386目录存放
- lea指令!
robbie1314
linux-0.11学习
最近在看linux-0.11内核,看到lea这个指令,google搜索了一下,转给大家,一起学习@!先看这个这个语法格式吧:对AT&T来说,寻址方式比较怪异,但又非常简洁,语法格式如下:segreg:base_address(offset_address,index,size) ;例子movl%eax,label1(,$2,$4)movl%ebx,(label2,$2,)movl%ecx,(%es
- Linux-0.11内核分析03:进程1的创建及执行
卡咖喱
嵌入式
进程1的创建及执行1.进程0创建进程1---init---main.c---sched_init()||-hd_init()||-fork()---int0x80//系统调度中断||-init()---setup()---int0x80||-pause()---int0x80||-kernel---sched.c---sched_init()---set_system_gate(0x80,&sys
- 哈工大操作系统实验---lab2:系统调用
东瓜lqd
实验目的:1、建立对系统调用接口的深入认识2、掌握系统调用的基本过程3、能完成系统调用的全面控制4、为后续实验做准备实验内容:1、在Linux-0.11上添加两个系统调用(原始只有72个系统调用)第一个系统调用:intiam(constchar*name);作用:将name中存放的字符串拷贝到内核中并保存下来,要求name的长度不能超过23个字符,若超过了,返回-1.并置errno为EINVAL,
- linux-0.11内核调试运行阅读环境的搭建及使用
ztguang
Linux内核/操作系统原理
实验资料下载实验过程参考以下链接:CentOS6+bochs-2.6+gdb调试linux0.11——成功vim+xxd=强大的十六进制编辑器下面三个是bochs的配置文件CentOS6bochs-2.6gdb调试linux0.11——bochsrc-fd1-gdb.bxrcCentOS6bochs-2.6gdb调试linux0.11——bochsrc-hdc-gdb.bxrcbochsrcwin
- linux-0.11内核编译
YongXMan
Linux内核游记Linux内核学习笔记linuxmakefilelinux内核gccubuntukeyboard
平台:ubuntu10.10这就是搭建bochs的环境,搭建bochs更操作系统关系不大,我认为重点是在bochs的配置上。配置bochs就需要对bochsrc.bxrc文档的编辑。在安装bochs之前,需要做的是安装编译环境:code:sudoapt-getinstallbuild-essential闲话少说,先从安装开始:我是用ubuntu的软件包工具apt安装的bochs,当然了也可以直接编
- Linux 0.11系统环境搭建(windows下)
qweeera
linux内核一个操作系统的实现
1.下载boch2.4https://sourceforge.net/projects/bochs/files/bochs/下载linux-0.11内核http://www.oldlinux.org/Linux.old/Linux-0.11/sources/system/http://www.oldlinux.org/Linux.old/images/http://www.oldlinux.org
- HIT Linux-0.11 实验七 地址映射与内存共享 实验报告
laoshuyudaohou
OSandLinux
进行本次实验前需要先完成实验六信号量的实现与运用。实验要求与实验指导见实验楼。实验环境为配置本地实验环境。一、实验目标深入理解操作系统的段、页式内存管理,深入理解段表、页表、逻辑地址、线性地址、物理地址等概念;实践段、页式内存管理的地址映射过程;编程实现段、页式内存管理上的内存共享,从而深入理解操作系统的内存管理。二、实验内容和结果(一).跟踪地址翻译过程 这节实验的目的是用Bochs的调试功能
- Linux-0.11 实验三 系统调用 实验报告
laoshuyudaohou
OSandLinux
实验要求与实验指导见实验楼。实验环境为本地实验环境。一、实验目标建立对系统调用接口的深入认识;掌握系统调用的基本过程;能添加自定义系统调用,完成系统调用的全面控制;为后续实验做准备。二、实验内容和结果1.添加系统调用 首先在kernel/下创建who.c,实现两个系统调用的处理函数:#include#include#include#includecharmyname[24];intmylen;i
- Linux-0.11 实验二 操作系统的引导 实验报告
laoshuyudaohou
OSandLinux
一、实验目标熟悉hit-oslab实验环境;认识并理解操作系统的引导过程;掌握操作系统的基本开发过程;能对操作系统代码进行简单的控制。二、实验内容和结果1.改写bootsect.s文件 bootsect.s中打印“Loadingsystem…”的相关代码在!Printsomeinanemessage和msg1处,修改这两部分代码即可。 修改显示文本:msg1:.byte13,10.ascii"
- HIT Linux-0.11 实验五 基于内核栈切换的进程切换 实验报告
laoshuyudaohou
OSandLinux
实验要求与实验指导见实验楼。实验环境为配置本地实验环境。一、实验目标深入理解进程和进程切换的概念;综合应用进程、CPU管理、PCB、LDT、内核栈、内核态等知识解决实际问题;开始建立系统认识。二、实验内容和结果0.进程切换过程 基于内核栈实现进程切换的大致过程如下: 当系统发生中断从用户态进入内核态时,CPU通过TR寄存器找到TSS的位置,根据TSS中保存的ss0:esp0的值切换到内核栈,并
- HIT Linux-0.11 实验六 信号量的实现与运用 实验报告
laoshuyudaohou
OSandLinux
实验要求与实验指导见实验楼。实验环境为配置本地实验环境。一、实验目标加深对进程同步与互斥概念的认识;掌握信号量的使用,并应用它解决生产者——消费者问题;掌握信号量的实现原理。二、实验内容和结果1.生产者-消费者问题 根据实验要求,pc.c程序需打开一个文件作为共享缓冲区、创建一个生产者进程和多个消费者进程,其中生产者进程向缓冲区写入连续的整数,消费者进程从缓冲区依次读取数字并输出。 对于涉及到
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s