- 嵌入式面试真题——Linux内核空间与用户空间
70000cc
嵌入式面试真题linuxc语言嵌入式硬件面试单片机
本文以32位系统为例介绍内核空间(kernelspace)和用户空间(userspace)。对32位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为4G(2的32次方)。也就是说一个进程的最大地址空间为4G。操作系统的核心是内核(kernel),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核的安全,现在的操作系统一般都强制用户进程不能直
- Linux内核课程学习心得
萝卜cherish
linux内核分析linux内核学习总结
罗晓波+原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000不知不觉,八周课程一晃而过,回想起当初选择这门课到学习完最后一个课件,也是一个习惯的养成了,到现在我倒是习惯性地在周五和周日上一下课程主页,不过在这八周的线上课程学习中,我还是有所收获的,下面把我的一点小感想分享一下吧。课程第一周,通过一
- Linux内核地址空间布局详解
Linux加油站
linux网络
1.简介虽然x86_64的物理地址范围为64bit,但是因为地址空间太大目前不可能完全用完,当前支持57bit和48bit两种虚拟地址模式。地址模式单个空间用户地址空间内核地址空间32位2G0x00000000-0x7FFFFFFF0x80000000-0xFFFFFFFF64位(48bit)128T0x0000000000000000-0x00007FFFFFFFFFFF0xFFFF800000
- Linux内核——遍历 net_device 结构
唯独不开心
linux内核代码学习net_device
linux内核版本:2.6.32dev_base_head,dev_list)#definefor_each_netdev_reverse(net,d)\list_for_each_entry_reverse(d,&(net)->dev_base_head,dev_list)#definefor_each_netdev_rcu(net,d)\list_for_each_entry_rcu(d,&(
- Linux系统移植 —— Kernel编译、安装、开发
Fang-
Linux学习笔记linux系统移植内核移植内核编译安装
=======================1Linux内核配置与编译=======================一、清除临时文件、中间文件、配置文件makeclean清除编译生成的文件,保留配置文件makemrproper清除编译生成的文件和配置文件makedistclean清除所有文件二、配置内核一般会以一个参考的配置文件(如:arch/arm/),在该文件基础上进行配置。makeconf
- linux 学习笔记
IT 古月方源
linux学习笔记
#Linux学习笔记##1Linux入门###1.1概述Linux内核最初只是芬兰人在赫尔辛基大学上学时处于个人爱好而编写的。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一
- alios与centos操作系统有什么区别?
wordpress爱好者
centoslinux运维
阿里云AliOS与CentOS操作系统:差异与比较结论:阿里云AliOS和CentOS,两者都是操作系统领域的重量级选手,但它们的核心理念、使用场景以及技术特性却大相径庭。阿里云AliOS基于Linux内核,专注于物联网(IoT)领域,强调安全性、定制化和云端服务的无缝对接;而CentOS则是一个基于RHEL(RedHatEnterpriseLinux)的开源操作系统,主要服务于企业级市场,以其稳
- Linux学习(十五)(故障排除(ICMP,Ping,Traceroute,网络统计,数据包分析))
solomonzw
linux学习网络
故障排除是任何Linux用户或管理员的基本技能。这涉及识别和解决Linux系统中的问题。这些问题的范围包括常见的系统错误、硬件或软件问题、网络连接问题以及系统资源的管理。Linux中的故障排除过程通常涉及使用命令行工具、检查系统和应用程序日志文件、了解系统进程,有时还涉及深入研究Linux内核。有效故障排除的关键是了解Linux的工作原理并熟悉常见的命令行工具。此外,能够解释错误消息、使用Linu
- 简要分析NETLINK_KOBJECT_UEVENT参数
TJ_Dream
基础内核函数分析网络
NETLINK_KOBJECT_UEVENT时Linux内核中Netlink协议族的一个特定类型,专门用于传递内核对象(kobject)相关的设备事件消息(称为uevent)。它是实现动态设备管理(如热插拔、驱动加载)的核心机制,支撑了udev、systemd-udevd等用户空间设备管理服务的工作。一、核心作用1.传递设备状态变更事件当设备被添加(如USB插入)、移除(如硬盘拔出)、状态变化(如
- 简要分析NETLINK_ROUTE参数
TJ_Dream
基础内核函数分析linux网络运维
NETLINK_ROUTE时Linux内核中Netlink协议族的一个子类型,专用于用户空间与内核网络子系统之间的通信,它是实现动态网络配置(如路由表、网络接口、地址管理)的核心机制,为现代网络管理工具(如iproute2)提供了底层支持。一、NETLINK_ROUTE的核心作用1.路由表管理添加、删除路由条目(如静态路由、策略路由)查询当前路由表状态(IPv4/IPv6)2.网络接口控制创建、删
- Linux基础——操作系统(OS)、操作系统内核(Kernel)和Shell
D3Zane
Linux基础linux
文章目录前言一、操作系统(OS)和操作系统内核(Kernel)1.操作系统架构2.内核在操作系统中的具体位置二、了解Shell1.Shell是什么?2.Shell的类型3.Shell的功能?4.Shell的工作原理?5.Shell示例三、Linux命令的执行的过程(原理)总结前言首先,先向Linux创始人LinusTorvalds以及Linux的整个开源社区致敬,没有Linus的Linux内核,没
- Linux 内核移植
River-D
Driver
NXP官方开发板Linux内核编译37.2.1修改顶层Makefile修改顶层Makefile,直接在顶层Makefile文件里面定义ARCH和CROSS_COMPILE这两个的变量值为arm和arm-linux-gnueabihf-37.2.2配置并编译Linux内核和uboot一样,在编译Linux内核之前要先配置Linux内核。每个板子都有其对应的默认配置文件,这些默认配置文件保存在arch
- linux防火墙iptables、ufw、firewalld
思静鱼
Linux&运维安装linux运维服务器
文章目录防火墙iptables、ufw、firewalld的区别iptables、ufw和firewalld都可以在CentOS和Ubuntu上使用防火墙iptables、ufw、firewalld的区别iptables、ufw和firewalld是Linux系统中常用的防火墙管理工具,它们在功能和使用方式上有所不同。以下是它们的区别:iptables定义:iptables是Linux内核中的防火
- 深入Linux内核架构:操作系统的核心奥秘
Echo_Wish
运维探秘让你快速入坑运维linux架构运维
Linux是一种广泛使用的开源操作系统,其核心组件——Linux内核,承担着系统资源管理与硬件交互的关键任务。对于系统运维人员和开发者来说,理解Linux内核的架构不仅有助于高效管理系统,还能优化性能,排查复杂问题。本文将深入浅出地介绍Linux内核架构的核心组成,并配以简单的代码示例和逻辑说明,帮助您更好地理解这一重要领域。一、什么是Linux内核?Linux内核是操作系统的核心,它为上层应用提
- Git与GitHub:理解两者差异及其关系
抱抱宝
gitgithub
目录Git与GitHub:理解两者差异及其关系Git:分布式版本控制系统概述主要特点GitHub:基于Web的托管服务概述主要特点Git和GitHub如何互补关系现代开发工作流结论Git与GitHub:理解两者差异及其关系Git:分布式版本控制系统概述什么是Git?Git是一个设计用来高效处理从小到大项目的分布式版本控制系统(DVCS)。它由林纳斯·托瓦兹于2005年为Linux内核的开发而创建。
- Android USB Camera(1) : 调试记录
LittleProgrammer2S
MTKAndroidUSB-CameraUVCV4L2
1.前言前段时间调试了一个uvc摄像头,这里做下记录。硬件平台为mt6735,软件平台为android5.02.底层配置UVC全称是usbvideoclass,一种usb视频规范。所有遵循uvc协议的摄像头都不需要安装额外的驱动,只需要一个通用驱动即可。Linux内核已经集成了uvc驱动,代码路径是kernel-3.10/drivers/media/usb/uvc/2.1打开配置Linux内核需要
- 鸿蒙的底层是linux吗?
博览鸿蒙
鸿蒙harmonyoslinux华为
结论:鸿蒙系统的底层技术确实与Linux有关联,但并非完全基于Linux开发。下面详细解释这一点:鸿蒙系统与Linux的关系技术根基:鸿蒙系统采用了Linux内核作为其底层的一部分,但华为在Linux的基础上进行了大量的优化和改进,以适应鸿蒙系统的特定需求和华为自家的硬件设备及软件生态。这意味着鸿蒙系统虽然利用了Linux内核的某些优势,但并非简单地复用Linux的代码或架构。自主可控:由
- linux git 搭建 debian,如何在Debian服务器上安装公共Git存储库
高江Takae
linuxgit搭建debian
如何在Debian服务器上安装公共Git存储库Git是一个免费的分布式版本控制,最初由LinusTorvalds为Linux内核开发创建。它主要在Linux上开发,但可用于其他Unix操作系统,包括BSD,Solaris和Darwin。基于POSIX的系统,如Linux,Git非常快。它与svn不同,并在远程服务器上创建一个私有存储库。一些流行的项目使用Git:*YUI*Merb*DragonFl
- Linux和Ubuntu的关系
cykaw2590
linuxlinux运维服务器
Linux和Ubuntu的关系:1.Linux本身是内核,Ubuntu系统是基于Linux内核的操作系统。2.Linux内核操作系统的构成:内核、shell、文件系统、应用程序-应用程序:文本编辑器等-文件系统:文件存放在存储设备上的组织方法-shell:用户与内核交互的系统,命令解释器-内核:处理操作系统的请求。5大模块化功能:进程管理、内存管理、文件系统管理、设备控制、网络管理。3.进程管理:
- 玩转Linux网络命名空间:手把手实现跨命名空间通信
冯·诺依曼的
操作系统➔Linuxlinux网络运维容器
一、网络命名空间简介网络命名空间(NetworkNamespace)是Linux内核提供的一种网络隔离机制,它允许不同命名空间拥有独立的:网络设备接口IP地址和路由表防火墙规则(iptables/nftables)端口号范围这种技术被广泛应用于容器化(Docker/K8s)、虚拟化等场景,是实现网络隔离的重要基础。二、实战:跨命名空间通信配置1.环境准备#清空已有测试命名空间(避免冲突)ipnet
- 为什么要开源?
互联网之路.
知识点开源
互联网各领域资料分享专区(不定期更新):Sheet正文开源(OpenSource)是软件、硬件或知识产品将其源代码或设计公开,允许任何人自由使用、修改和分发的模式。开源的核心不仅是“免费”,更是一种协作和透明的理念。以下是开源的主要动因和优势:一、技术驱动:提升质量和创新1、集体智慧与协作开源允许全球开发者共同贡献代码,通过“同行评审”快速发现和修复漏洞,提高软件质量(如Linux内核、Apach
- 成为 Android 开发人员的最佳途径 – 完整路线图
大门口的猴子
android应用android
Android是一个开源操作系统,基于Linux内核,用于智能手机、平板电脑等移动设备。此外,它还为智能手表和AndroidTV开发。它们每个都有一个专门的界面。Android一直是智能手机最畅销的操作系统之一。Android操作系统由谷歌于2005年收购的AndroidInc.开发游戏、音乐播放器、相机等各种应用程序都是为这些智能手机构建的,可在Android上运行。GooglePlayStor
- Linux内核调度子系统之big.little架构
Surest
linux内核
1.armbig.little架构 传统的arm多核系统一般都是对称性质的所以可以常见CPU的架构为双核A9四核A7等。随着移动设备高速发展,arm开始推出了非对称式的cpu架构。例如:双核A53和双核A72混合封装到SOC上,这样的形式一般称为big.little架构。第一个在商业上使用这个架构的CPU是三星samsungexynos5410,这款芯片用在了三星SamsungGalaxys4这款
- Git与GitHub:它们是什么,有什么区别与联系?
名之以父
AllInAI前端javascriptgithub开发语言人工智能个人开发gitcode
1.Git是什么?Git是一个开源的、分布式版本控制系统(VersionControlSystem,VCS),由LinusTorvalds于2005年开发,最初用于管理Linux内核的开发。它的核心功能是跟踪文件的变更历史,帮助开发者高效管理代码版本,支持多人协作开发核心特点:分布式:每个开发者本地都有一个完整的仓库副本(包括完整历史记录),无需依赖中央服务器分支管理:轻松创建、切换和合并分支,支
- 简要分析Netlink协议
TJ_Dream
基础内核函数分析网络
Netlink协议是Linux内核中用于内核态与用户态进程间通信(IPC)的一种机制,基于套接字的通信接口,提供高效、灵活的双向数据传输能力,常用于内核模块与用户程序之间的实时交互。Netlink协议的核心内容协议基础通信模式:基于消息的通信,支持单播(unicast)、多播(multicast)和广播。协议族(Family)Netlink不是单一协议,而是一组协议族,每个协议族通过唯一的协议号(
- OpenHarmony 鸿蒙使用指南——概述
AIGC龙哥
harmonyos华为
简介OpenHarmony采用多内核(Linux内核或者LiteOS)设计,支持系统在不同资源容量的设备部署。当相同的硬件部署不同内核时,如何能够让设备驱动程序在不同内核间平滑迁移,消除驱动代码移植适配和维护的负担,是OpenHarmony驱动子系统需要解决的重要问题。为了缩减驱动开发者的驱动开发周期,降低三方设备驱动集成难度,OpenHarmony驱动子系统支持以下关键特性和能力。弹性化的框架能
- Linux内核笔记(驱动篇)之 【u-boot移植--基于正点原子iMX6ull开发板】
哆哆jarvis
Linux内核与驱动进阶之路嵌入式
博主珍藏笔记干货在这里!Linux内核笔记汇总【持续更新】更好的阅读体验请见:u-boot移植–基于正点原子iMX6ull开发板文章目录添加自己的开发板添加开发板对应的头文件添加开发板对应的板级文件夹编译测试烧写屏幕&网络驱动移植软件层面的修改修改*`include/configs/mx6ull_jarvis_emmc.h`*修改*`board/freescale/mx6ull_jarvis_em
- 剖析内核态和用户态的内存分配方式
Linux加油站
java网络缓存
【推荐阅读】浅析linux内核网络协议栈--linuxbridge深入linux内核架构--进程&线程浅谈linux内核网络sk_buff之克隆与复制1.使用buddy系统管理ZONE我的这两篇文章buddy系统和slab分配器已经分析过buddy和slab的原理和源码,因此一些细节不再赘述。所有zone都是通过buddy系统管理的,buddysystem由HarryMarkowitz在1963年
- 嵌入式linux bootloader,嵌入式系统启动之bootloader 源码解析
三月十六
嵌入式linuxbootloader
要探讨bootloader,我们首先从全局来看看,嵌入式系统启动流程是怎么样的。大体上一个嵌入式Linux系统从软件角度分析可以分为四个部分:引导加载程序(bootloader),Linux内核,文件系统,应用程序。当系统首次引导时,或系统被重置时,bootloader首先被执行(位于Flash/ROM中的已知位置处)的代码。它主要用来初始化处理器及外设,然后调用Linux内核。Linux内核在完
- Linux C 语言结构体高级用法
repinkply
#C语言深度剖析linuxc语言运维
话题引入在Linux内核中很多C语言结构体的写法是下面这样的。结构体成员变量之前为什么有这么多.?,其实这样的写法是为了引用一个函数指针,可以看一下下面这个demo就明白了。#include#include#include#includestructDemo{int(*add)(inta,intb);int(*sub)(inta,intb);int(*mul)(inta,intb);};intte
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多