<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[daniel_ice的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/daniel_ice</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daniel_ice]]></copyright><item><title><![CDATA[fatal: Could not read from remote repository]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/8923310</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/8923310</guid><author>daniel_ice</author><pubDate>Mon, 13 May 2013 23:57:03 +0800</pubDate><description><![CDATA[警示： 不认真读英语日志的下场，竟然花了5个小时，才发现在visual studio中用插件读取repository的时候，需要先保证该repository存在， visual studio中的git插件不具有创建repository的权限！！！]]></description><category></category></item><item><title><![CDATA[proc文件系统------《深入理解Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/8842964</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/8842964</guid><author>daniel_ice</author><pubDate>Sat, 27 Apr 2013 10:02:57 +0800</pubDate><description><![CDATA[proc文件系统

1. proc简介(Process Data System, 进程数据系统)
proc文件系统属于虚拟文件系统，即该文件系统的数据，由内核动态生成，并不会存放在持久存储数据中。
proc文件系统，使得内核可以生成与系统状态和配置有关的信息。该信息可以由用户和系统程序从普通文件读取，而无需专门的工具与内核通信。比如可以通过cat status打印进程的状态信息，如下：]]></description><category></category></item><item><title><![CDATA[VFS与Ext2文件系统------《深入Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/8821444</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/8821444</guid><author>daniel_ice</author><pubDate>Thu, 18 Apr 2013 23:25:40 +0800</pubDate><description><![CDATA[1. VFS简介(Virtual File System, 虚拟文件系统)

在Linux内核中支持40多种文件系统，其来源也多种多样：来自MS-DOS的FAT文件系统,
 UFS(Berkeley UNIX), Ext2/3/4, 用于CD-ROM的iso9660, 网络文件系统(如coda和NFS)和虚拟的文件系统(如proc)。
Linux为了向用户空间(如C标准库)提供标准的接口，]]></description><category></category></item><item><title><![CDATA[Linux 进程栈和线程栈的区别]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/8146003</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/8146003</guid><author>daniel_ice</author><pubDate>Mon, 05 Nov 2012 11:31:14 +0800</pubDate><description><![CDATA[注：本文所涉及的环境为Linux， 下文讨论的栈跟内核栈，没有任何的关系，关于内核栈，请参考《深入Linux内核架构》中的2.4.1 进程复制
这里有如下几个问题，线程栈的空间是开辟在那里的？ 线程栈之间可以互访吗？为什么在使用pthread_attr_setstack函数时，需要设置栈的大小，而进程task_struct的 mm_struct *mm 成员中却并没有却并没有stack_size]]></description><category></category></item><item><title><![CDATA[关于c中volatile关键字（转贴）]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/7222547</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/7222547</guid><author>daniel_ice</author><pubDate>Tue, 31 Jan 2012 16:48:09 +0800</pubDate><description><![CDATA[一个定义为volatile的变量是说这变量可能会被意想不到地改变，这样，编译器就不会去假设这个变量的值了。精确地说就是，优化器在用到这个变量时必须每次都小心地重新读取这个变量的值，而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子：
    1). 并行设备的硬件寄存器（如：状态寄存器）
    2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic v]]></description><category></category></item><item><title><![CDATA[c语言模拟实现栈的模板化]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6834682</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6834682</guid><author>daniel_ice</author><pubDate>Sat, 29 Oct 2011 22:08:06 +0800</pubDate><description><![CDATA[对于写过表达式解析的同学一定不会陌生，我们需要两个栈，一个是符号栈（char），一个是操作数栈（int).  经典的数据结构书中的栈，类型是定死了的。
所以能够实现一个栈，自己指定类型，想必编写接下来代码的心情要愉快的多。本实现过程采用宏定义，这样然接口看来就好像实现了模板化。这里有篇csdn的文章也是实现了模板化的，但是它采用的是预处理运算符## 实现的，及字符串化（stringificati]]></description><category></category></item><item><title><![CDATA[数组名和数组名取地址的区别]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6857019</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6857019</guid><author>daniel_ice</author><pubDate>Sun, 09 Oct 2011 21:19:54 +0800</pubDate><description><![CDATA[以下代码会打印出什么样的日志呢？
#include 

int a[2] = {1,2};
int main(){
        printf("a = %p\n", a); // I
        printf("&a = %p\n", &a); // II]]></description><category></category></item><item><title><![CDATA[3.5.8 内核映射------《深入Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6834373</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6834373</guid><author>daniel_ice</author><pubDate>Thu, 29 Sep 2011 16:45:34 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:2cm}
p
	{margin-bottom:0.21cm}
-->



vmalloc能完成高端内存到内核虚拟空间的映射，但是内核更期望一种能专门正对高端内存的映射关系，持久映射 便是将高端内存长久映射到内存虚拟地址空]]></description><category></category></item><item><title><![CDATA[3.5.7 vmalloc 实现原理------《深入Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6834316</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6834316</guid><author>daniel_ice</author><pubDate>Thu, 29 Sep 2011 16:36:08 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:2cm}
p
	{margin-bottom:0.21cm}
-->



为什么要有vmalloc
在内核中，分配物理连续的内存对内核来说是最好不过的事情了，但是因为碎片的原因并不是总是能行，所以我们通过建立一种映射机]]></description><category></category></item><item><title><![CDATA[3.5 伙伴系统------《深入Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6834251</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6834251</guid><author>daniel_ice</author><pubDate>Thu, 29 Sep 2011 16:31:02 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:2cm}
p
	{margin-bottom:0.21cm}
-->



伙伴系统的相关结构
在bootmem完成系统启动阶段的内存管理后，bootmem将会把空闲的内存释放到伙伴系统由其管理，伙伴系统以其简单高效而著]]></description><category></category></item><item><title><![CDATA[3.4  初始化内存管理------《深入Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6834038</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6834038</guid><author>daniel_ice</author><pubDate>Thu, 29 Sep 2011 16:29:27 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:2cm}
p
	{margin-bottom:0.21cm}
-->



内存的初始化是从全局启动例程start_kernel开始的。具体流程如下图：



<!--
@page
	{margin:2cm}]]></description><category></category></item><item><title><![CDATA[(N)UMA 模型中的内存组织------《深入Linux内核架构》笔记]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6833835</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6833835</guid><author>daniel_ice</author><pubDate>Thu, 29 Sep 2011 14:35:52 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:2cm}
p
	{margin-bottom:0.21cm}
-->



UMA(一致内存访问，uniformmemory access)： 计算将内存以连续的方式组织起来。SMP中每个cpu访问各内存区具有一样的速度]]></description><category></category></item><item><title><![CDATA[java 读取图片的缩略图和dpi]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6686092</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6686092</guid><author>daniel_ice</author><pubDate>Sun, 14 Aug 2011 15:54:23 +0800</pubDate><description><![CDATA[最近帮朋友做了个管理图片的小软件，要求实现的功能就是对大量的jpg图片生成缩略图显示，自动计算图片的平方数以便计费。最初感觉从图片读取信息应该是很简单的问题，哪知道还是花了好几天才搞定，杯具啊!
刚开始我调用ImageIcon来生成缩略图，才发现对于几百张图片来说这是不可能完成]]></description><category></category></item><item><title><![CDATA[Jcalendar 简单使用]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/6282440</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/6282440</guid><author>daniel_ice</author><pubDate>Sun, 27 Mar 2011 23:30:00 +0800</pubDate><description><![CDATA[<br />今天想找一个像js那样能在swing中使用的日历控件。找到jcalendar后，本想搜一下用法，哪知道google上全是提的问题，一下把我打蒙了，最后在才发现可能是太过于简单都没人回复了，本人弄了一个小例子。<br /> <br /> <br />package com.daniel.test;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import ]]></description><category></category></item><item><title><![CDATA[hibernate  不兼容于 oracle char]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/5373905</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/5373905</guid><author>daniel_ice</author><pubDate>Fri, 12 Mar 2010 14:18:00 +0800</pubDate><description><![CDATA[Automatically trimming String properties (good for DB/2 and Oracle) （from hibernate forum https://www.hibernate.org/90.html）This might be of use to anyone who uses Hibernate against DB/2 on various ]]></description><category></category></item><item><title><![CDATA[java 解惑 83]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/5355723</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/5355723</guid><author>daniel_ice</author><pubDate>Mon, 08 Mar 2010 11:22:00 +0800</pubDate><description><![CDATA[从前有一个人，他认为世上只有一只不寻常的狗，所以他写出了如下的类，将它作为一个单件（singleton）[Gamma95]：public class Dog extends Exception {public static final Dog INSTANCE = new Dog();private Dog() {}public String toString(){return "Woof";}}]]></description><category></category></item><item><title><![CDATA[java 解惑 70]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/5349605</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/5349605</guid><author>daniel_ice</author><pubDate>Fri, 05 Mar 2010 15:40:00 +0800</pubDate><description><![CDATA[ package chapter7.p70;import chapter7.p70.one.*;/** *  * @author 很特殊的用法 */public class TypeIt {	private static class ClickIt extends CodeTalk {		void printMessage() { //该方法不会覆盖另一个包中的私有]]></description><category></category></item><item><title><![CDATA[java 基础 类的继承]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/4518961</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/4518961</guid><author>daniel_ice</author><pubDate>Fri, 04 Sep 2009 13:44:00 +0800</pubDate><description><![CDATA[在公司干ssh了快一年了，尽然不小心忘记了java  基础的东西，哎这日子混的有点丢脸了哈。package com;class Oper {    public void print(){        System.out.println("hello");    }}class A {    protected]]></description><category></category></item><item><title><![CDATA[File/Folder Chooser  选择]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/4413174</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/4413174</guid><author>daniel_ice</author><pubDate>Wed, 05 Aug 2009 17:09:00 +0800</pubDate><description><![CDATA[ private static String ChooseFolder()    {        JFileChooser fc = new JFileChooser();        JList list = new JList();        fc.setFileSelectionMod]]></description><category></category></item><item><title><![CDATA[关于float和Float的小提示]]></title><link>https://blog.youkuaiyun.com/daniel_ice/article/details/4295086</link><guid>https://blog.youkuaiyun.com/daniel_ice/article/details/4295086</guid><author>daniel_ice</author><pubDate>Wed, 24 Jun 2009 16:46:00 +0800</pubDate><description><![CDATA[float f = 1.2 ;//正确Float F = 2.2 ;//错误 必须加f后缀，如2.2f]]></description><category></category></item></channel></rss>