<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wjgit的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wjgit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wjgit]]></copyright><item><title><![CDATA[Delphi7中 自己创建HashTable]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107189492</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107189492</guid><author>wjgit</author><pubDate>Tue, 07 Jul 2020 20:30:25 +0800</pubDate><description><![CDATA[在Delphi7以下版本中，我们发现库是不带HashTable这个类的，而这个类在java中被应用得风生水起。

一直想用Delphi7开发简单的数据库处理程序，但是我不想用Delphi中的那些个自动化的控件，不可控，不自由。

于是参照java，自己开发了很多类，包含字符串处理的，集合类。

对于多线程编程，队列也是一个基本类，一并开发了。自己开发的类有一个好处，就是方法随便添加，根据需要可以自由优化。那些通用的类和方法，通常性能是很差的，就如一个循环队列，Delphi本身就没有，别人开发的，测试了下，.]]></description><category></category></item><item><title><![CDATA[用java创建一个表达式计算器和脚本解释器]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107189065</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107189065</guid><author>wjgit</author><pubDate>Tue, 07 Jul 2020 20:11:44 +0800</pubDate><description><![CDATA[一个简单的表达式计算，有时候我们要在程序中对某些自定义的公式进行计算。

如定制化的一些条件，如根据某个变量来决定界面元素的颜色

我们只要对这个类稍微扩展即可，例如我们重载getObjValue方法，

然后定义一个变量池，就可以实现对诸如calculateExp("50-Qty*((1+2)*3)+2")的计算。

getObjValue（）中实现对于Qty可以从变量池获得数据。

更多的扩展可以参照后面的类，可以做一个自己的脚本语言解释器。

  Polynomial dt =new P...]]></description><category></category></item><item><title><![CDATA[获取java类的属性和方法信息]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107188830</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107188830</guid><author>wjgit</author><pubDate>Tue, 07 Jul 2020 19:56:47 +0800</pubDate><description><![CDATA[我喜欢直接文本文件做java开发，elipse这些工具，感觉太庞大，还要安装。当然好处是查看包和类资源就比较方便。

没有这些工具，要想快速了解一个类的所有方法，总不能去网上查吧，而且有些版本也是有不同的差别。因此开发一个在线的浏览当前使用的类包含哪些信息，就有必要。

自己利用反射写一个类的资源获取很简单。然后放在运行环境中，再用一个jsp界面展现出来，既快又方便。



package com.worldrisestar.util;

import java.util.Properties;
impo.]]></description><category></category></item><item><title><![CDATA[java创建一个处理目录文件的类]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107188415</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107188415</guid><author>wjgit</author><pubDate>Tue, 07 Jul 2020 19:43:18 +0800</pubDate><description><![CDATA[在编写程序的过程中，时常要更改一些包含某个代码的文件，特别是像我这种将code到处copy，而不愿意采用那些精巧的框架的人。要修改某个特定的功能，就要找到调用这段代码的那些文件，这时，我就需要查找某个目录下的java、jsp、js文件。

这个类就是实现对所有子目录下的指定文本文件进行全文检索开发的，虽然没有什么性能可言，但是简单。

对于java文件，我很少写注释，除非怀疑自己以后看不懂。但是通常命名还是比较规范的。

/**
 创建人：worldrisestar
 说明：用于加载系统资源，可以从系统..]]></description><category></category></item><item><title><![CDATA[从原理到应用的过程，毫无乐趣可言]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107187722</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107187722</guid><author>wjgit</author><pubDate>Tue, 07 Jul 2020 19:18:27 +0800</pubDate><description><![CDATA[我们在学校学习，总是很干脆的原理，它是那么纯净，不粘人间烟火。

  当我们弄懂了原理，并用一个实例测试了它的正确性，就高兴得到处说，我有能力做某项技术工作了。

  可是，那些个企业总是带着偏见，需要有经验之人才肯给点机会。

  经验不是锻炼出来的嘛，不给我机会，哪能验证我能不能呢。

  终于找到一个买家，愿意给我尝试一下，他们实在找不到人啊。

  一下干下去，才发现那么多问题，不是我技术不行，而是这个那个的非技术问题。

 于是感叹，这里不是人呆的地方，太乱了。...]]></description><category></category></item><item><title><![CDATA[从简单到复杂构建系统]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107173509</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107173509</guid><author>wjgit</author><pubDate>Tue, 07 Jul 2020 12:24:07 +0800</pubDate><description><![CDATA[从0到1：

  不要告诉我你有多牛B，人类文明从开始到现在，也是从0到1开始慢慢建立的。当今复杂的社会文明，上帝也不是一开始就能设计好的。只要有个1，人就能把他变成2，变成100，变成成千上亿。人类文明就如生物的进化，不断地变异、丢弃与重构。想当初半导体出来时，是多么大一个东西，到今天它的原理还是那样，只是从1变成了亿。人类对技术的应用，大部分时间就是在炒剩饭，只是佐料越来越多，看起来越来越鲜艳。

  大部分人学技术，一想到就怕，因为没自信啊。看到那些不懂的，看那些大牛吹的，看那些五花八门的...]]></description><category></category></item><item><title><![CDATA[ObjectC学习总结]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107156481</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107156481</guid><author>wjgit</author><pubDate>Mon, 06 Jul 2020 13:41:31 +0800</pubDate><description><![CDATA[ObjC是一种动态语言，所谓动态是在编译时增加了很多的运行期代码和运行期数据。这些运行期代码负责将编译后的ObjC代码粘接起来形成一个系统，而运行期数据则用于动态查询内存数据的描述信息（如类描述信息）。


ObjC依然是C语言的扩充，是增加面向对象编程的C，与C++有很多共同特点，但是又有比C++多得多的运行期支持。ObjC一样会编译成可执行的机器码。兼容C语言所有特性，支持指针操作，通过指针可以遍历内存。这同C#、java、swift不同，后三种语言是基于引用，不支持指针操作，内存管理全部由编译器实现.]]></description><category></category></item><item><title><![CDATA[程序调试器原理]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107155223</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107155223</guid><author>wjgit</author><pubDate>Mon, 06 Jul 2020 13:19:18 +0800</pubDate><description><![CDATA[调试器原理：



 调试器是一个程序，在开发工具中也是调用一个程序，在运行时就是一个进程，这个进程与普通进程没有区别，只是这个进程调用了内核的一些特殊函数（系统调用）来操纵内核数据，这些数据就是被调试进程的内存数据。



而对操作系统调试的调试器则不同，因为没有操作系统的支持，调试器本身就不再需要调用操作系统内核的程序来支持，但是此时的调试非常特殊，因为操作系统自己有中断处理程序，调试器对中断服务程序的劫持会让操作系统的操作变得有些不同，调试器首先启动先设置CPU为单步执行状态，然后启动操作系统...]]></description><category></category></item><item><title><![CDATA[51、AVR、PIC、ARM单片机的总线与存储空间的理解]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107155153</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107155153</guid><author>wjgit</author><pubDate>Mon, 06 Jul 2020 12:35:32 +0800</pubDate><description><![CDATA[51单片机

 特殊指令MOVC实现读取程序存储区域的静态数据，只能读取，不能写入，因此不能实现自编程。

 外部存储器通过P2、P0端口连接地址和数据总线，可实现扩展。P0与P2组合实现地址输出，

 P0实现数据总线，因此一个数据周期需要两个总线周期。16位地址可访问64K外部地址空间。

 外部内存地址与内部内存地址是平行的，因此都有0x0001，但是访问外部存储器通过MOVX指令实现。

－－－－－－－－－－－－－－－－－



AVR：程序存储空间与SRAM数据存储空间独立编址。...]]></description><category></category></item><item><title><![CDATA[关于程序语言与操作系统的个人理解]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107155069</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107155069</guid><author>wjgit</author><pubDate>Mon, 06 Jul 2020 12:31:14 +0800</pubDate><description><![CDATA[程序编写原则：

 用最简单的语法，构建比较高效的代码。

   不要迷恋那些复杂的语法和技术，极度不建议采用带有二义性语法。最好采用各种语言通用的语法结构，采用最简单的语句，除非只有痛过构建特殊语法才能提高性能。

   if ( a == b &amp;&amp; b &gt; 100)

    当你不确定 逻辑运算与比较运算谁优先时，那么

   if ( (a == b) &amp;&amp; (b &gt; 100))

    更加清晰，出错的概率就越...]]></description><category></category></item><item><title><![CDATA[一个老程序员和他的1000万小挑战]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/107145102</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/107145102</guid><author>wjgit</author><pubDate>Mon, 06 Jul 2020 00:12:55 +0800</pubDate><description><![CDATA[接触软件程序有二十几年了，将近五十岁的程序员，在中国我想是不多的，至少在我周边很好。

我本非猿，却做了二十年程序员，我本非财，却做了十年财务会计。

没做过什么轰轰烈烈的事，也没参加过什么伟大的项目，甚至都没有任何出格的事，人就老了。看着那些小年轻，心里极是羡慕。到了这个年纪，不敢谈什么适应世界、改变世界的梦想。毕竟，世界永远是年轻人的。

虽然没有什么资历，但是一路平凡，也看了不少风景。单就阅读量来说，我还是读了不少书的，涉猎也算广泛吧，只是比较肤浅。就软件开发来说，我个人还是有那么一些感触。

我算是]]></description><category></category></item><item><title><![CDATA[中间件原理]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/73848771</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/73848771</guid><author>wjgit</author><pubDate>Wed, 28 Jun 2017 15:37:17 +0800</pubDate><description><![CDATA[中间件原理


1. tomcat
        使用tomcat已经有很长一段时间了，对weblogic也大概了解过，但是因为不做大型项目，因此对于分布式应用的开发了解得比较少。对于什么是中间件，也只是一个模糊的概念。
        开始只知道Tomcat，必须有tomcat软件和JDK软件配合使用，至于怎么配合使用的，就没有深究过。每次做项目，就是安装JDK，然后安装Tomcat]]></description><category></category></item><item><title><![CDATA[写给想成为程序员]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/42101127</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/42101127</guid><author>wjgit</author><pubDate>Tue, 23 Dec 2014 12:24:49 +0800</pubDate><description><![CDATA[﻿﻿
  对计算机好奇，对计算机痴迷，你自然就会自己学会写程序。
     很多人都想学计算机软件，却很少思考学了做什么，为了赚钱么？如果你仅仅把学习作为生存的工具。那么我认为学习软件开发不是最好的选择。
     如果不是兴趣，软件开发是一个很辛苦的事情，需要长期的坚持，绝对不是赚钱的最好方法。
     我虽然没有在大公司做过软件开发，也没有参加过什么有名的系统开发，但是我一直在学习计]]></description><category></category></item><item><title><![CDATA[保护模式与操作系统]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/8251206</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/8251206</guid><author>wjgit</author><pubDate>Mon, 03 Dec 2012 14:51:16 +0800</pubDate><description><![CDATA[386之后，引入了处理器的保护模式，在计算机发展中，这是一个大事件，因为保护模式概念的提出，使现代操作系统成为可能。如果不采用虚拟地址的概念，那么现代操作系统要管理如此庞大的资源，肯定是一个噩梦。
    实模式：是指直接访问物理内存，指令中的地址值是物理内存地址。
    保护模式：是指指令中的地址不再是物理地址，而是虚拟地址，要经过MMU的处理转换成物理地址。
    由于保护模式的提出]]></description><category></category></item><item><title><![CDATA[跟我学编程（6）-java]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/7763771</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/7763771</guid><author>wjgit</author><pubDate>Thu, 19 Jul 2012 17:15:10 +0800</pubDate><description><![CDATA[java语言最初目标应该是用来在一些小型设备上运行的，java是用来实现控制逻辑，而实际的执行交由底层的程序去实现。
      java与其他语言最大的区别就是需要虚拟机才能运行，关于什么是虚拟机，很多程序员不太了解。
      我们在windows或dos操作系统中，用一个编辑器编写一个程序后，用编译器等工具把程序变成了一个可执行文件，如test.exe。然后我们只要双击这个文件或在do]]></description><category></category></item><item><title><![CDATA[情绪控制是一种习惯]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/7763548</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/7763548</guid><author>wjgit</author><pubDate>Thu, 19 Jul 2012 15:56:12 +0800</pubDate><description><![CDATA[情绪控制是一种习惯，一个人受外界刺激而产生神经反应通常会盖过以前的记忆，也就是说短期情绪波动谁也没法避免。当你说“从明天开始减肥，我再也不吃巧克力了”，而实际上一看到巧克力那种欲望往往会盖过你曾经做出的所有努力。这不是你的错，只要是生物（动物），就有与你一样的境遇，不要埋怨自己没有控制力。当你发怒过后总是后悔“哎，我应该控制自己的情绪的，但是我就是很生气。”，然后你暗下里发誓以后一定要控制好自己的]]></description><category></category></item><item><title><![CDATA[我的世界观-6-人类感官的局限性]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/7763331</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/7763331</guid><author>wjgit</author><pubDate>Thu, 19 Jul 2012 15:11:01 +0800</pubDate><description><![CDATA[神经元是感知世界的唯一途径，因为感知世界就是神经元网络对外界刺激的一种反应。

      动物只能感知变化的信号（信号意味着变化，信号是一个物理量的变化），人体内脏都有神经元，但是大脑却感觉不到内脏器官的存在，除非内脏发生了异常（信号），如疼痛，信号才会被传入大脑，这也说明在一个稳定的无变化的神经网络中，信号是不存在的，也就无所谓处理。
      任何系统均有其局限性，人类的所有感官也一]]></description><category></category></item><item><title><![CDATA[我的世界观-5-是什么决定了人类在众多物种中的胜出]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/7763321</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/7763321</guid><author>wjgit</author><pubDate>Thu, 19 Jul 2012 15:06:05 +0800</pubDate><description><![CDATA[人类与其他动物，有哪些区别呢？
      能判别危险？动物一样也会判别。
      能制造工具？有些动物也可以，只是非常简单。
      能直立行走？袋鼠也行。
      会说话？鸟也会通过叫声传达不同含义。
      学习能力？很多动物经过训练一样也能学会很多人类的动作。
        为什么人类总想把自己与别的动物区分开来呢？其意义就在于只有区分开来了，人才可以任意屠杀]]></description><category></category></item><item><title><![CDATA[自学计算机原理]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/7763220</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/7763220</guid><author>wjgit</author><pubDate>Thu, 19 Jul 2012 14:55:59 +0800</pubDate><description><![CDATA[第一章 实现简单需求
      一般学习一门计算机语言，通常的做法就是去买本书，然后照着书上的讲解，写好程序，编译运行，然后观察结果是否正确。其中第一个例子，约定俗成地就是在屏幕上打印一行“Hello world.”，这里我们并不想首先就教会您怎么写出一个可以运行的程序，而是通过问题的引出和解决方法的理解软件是用来做什么的，一般用软件可以解决什么样的问题。
      人类知识的出现必然有其]]></description><category></category></item><item><title><![CDATA[我的世界观-4-复杂生物是一个功能复合体]]></title><link>https://blog.youkuaiyun.com/wjgit/article/details/7763142</link><guid>https://blog.youkuaiyun.com/wjgit/article/details/7763142</guid><author>wjgit</author><pubDate>Thu, 19 Jul 2012 14:36:20 +0800</pubDate><description><![CDATA[地球上的危险，绝大部分来自于动态的刺激，对于周边有毒物质的化学刺激的应对一般在生命之初就已经有了选择。这种动态的刺激人类所能感受到的如视觉、听觉、触觉、嗅觉等，人们可以通过这些信号判断是否具有危险而采取相应措施。就如一条毛毛虫，如果你用棍子扎它一下，它就会卷曲一下试图保护自己，这是动物具有神经细胞的原因。


在一个生物体的复杂结构中，如果正好有一种机制，如上右图，当有外力施加到生物体时，生]]></description><category></category></item></channel></rss>