自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 Delphi7中 自己创建HashTable

在Delphi7以下版本中,我们发现库是不带HashTable这个类的,而这个类在java中被应用得风生水起。一直想用Delphi7开发简单的数据库处理程序,但是我不想用Delphi中的那些个自动化的控件,不可控,不自由。于是参照java,自己开发了很多类,包含字符串处理的,集合类。对于多线程编程,队列也是一个基本类,一并开发了。自己开发的类有一个好处,就是方法随便添加,根据需要可以自由优化。那些通用的类和方法,通常性能是很差的,就如一个循环队列,Delphi本身就没有,别人开发的,测试了下,.

2020-07-07 20:30:25 500

原创 用java创建一个表达式计算器和脚本解释器

一个简单的表达式计算,有时候我们要在程序中对某些自定义的公式进行计算。如定制化的一些条件,如根据某个变量来决定界面元素的颜色我们只要对这个类稍微扩展即可,例如我们重载getObjValue方法,然后定义一个变量池,就可以实现对诸如calculateExp("50-Qty*((1+2)*3)+2")的计算。getObjValue()中实现对于Qty可以从变量池获得数据。更多的扩展可以参照后面的类,可以做一个自己的脚本语言解释器。 Polynomial dt =new P...

2020-07-07 20:11:44 365

原创 获取java类的属性和方法信息

我喜欢直接文本文件做java开发,elipse这些工具,感觉太庞大,还要安装。当然好处是查看包和类资源就比较方便。没有这些工具,要想快速了解一个类的所有方法,总不能去网上查吧,而且有些版本也是有不同的差别。因此开发一个在线的浏览当前使用的类包含哪些信息,就有必要。自己利用反射写一个类的资源获取很简单。然后放在运行环境中,再用一个jsp界面展现出来,既快又方便。package com.worldrisestar.util;import java.util.Properties;impo.

2020-07-07 19:56:47 490

原创 java创建一个处理目录文件的类

在编写程序的过程中,时常要更改一些包含某个代码的文件,特别是像我这种将code到处copy,而不愿意采用那些精巧的框架的人。要修改某个特定的功能,就要找到调用这段代码的那些文件,这时,我就需要查找某个目录下的java、jsp、js文件。这个类就是实现对所有子目录下的指定文本文件进行全文检索开发的,虽然没有什么性能可言,但是简单。对于java文件,我很少写注释,除非怀疑自己以后看不懂。但是通常命名还是比较规范的。/** 创建人:worldrisestar 说明:用于加载系统资源,可以从系统..

2020-07-07 19:43:18 382

原创 从原理到应用的过程,毫无乐趣可言

我们在学校学习,总是很干脆的原理,它是那么纯净,不粘人间烟火。 当我们弄懂了原理,并用一个实例测试了它的正确性,就高兴得到处说,我有能力做某项技术工作了。 可是,那些个企业总是带着偏见,需要有经验之人才肯给点机会。 经验不是锻炼出来的嘛,不给我机会,哪能验证我能不能呢。 终于找到一个买家,愿意给我尝试一下,他们实在找不到人啊。 一下干下去,才发现那么多问题,不是我技术不行,而是这个那个的非技术问题。 于是感叹,这里不是人呆的地方,太乱了。...

2020-07-07 19:18:27 110

原创 从简单到复杂构建系统

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

2020-07-07 12:24:07 511

原创 ObjectC学习总结

ObjC是一种动态语言,所谓动态是在编译时增加了很多的运行期代码和运行期数据。这些运行期代码负责将编译后的ObjC代码粘接起来形成一个系统,而运行期数据则用于动态查询内存数据的描述信息(如类描述信息)。ObjC依然是C语言的扩充,是增加面向对象编程的C,与C++有很多共同特点,但是又有比C++多得多的运行期支持。ObjC一样会编译成可执行的机器码。兼容C语言所有特性,支持指针操作,通过指针可以遍历内存。这同C#、java、swift不同,后三种语言是基于引用,不支持指针操作,内存管理全部由编译器实现.

2020-07-06 13:41:31 206

原创 程序调试器原理

调试器原理: 调试器是一个程序,在开发工具中也是调用一个程序,在运行时就是一个进程,这个进程与普通进程没有区别,只是这个进程调用了内核的一些特殊函数(系统调用)来操纵内核数据,这些数据就是被调试进程的内存数据。而对操作系统调试的调试器则不同,因为没有操作系统的支持,调试器本身就不再需要调用操作系统内核的程序来支持,但是此时的调试非常特殊,因为操作系统自己有中断处理程序,调试器对中断服务程序的劫持会让操作系统的操作变得有些不同,调试器首先启动先设置CPU为单步执行状态,然后启动操作系统...

2020-07-06 13:19:18 1281

原创 51、AVR、PIC、ARM单片机的总线与存储空间的理解

51单片机 特殊指令MOVC实现读取程序存储区域的静态数据,只能读取,不能写入,因此不能实现自编程。 外部存储器通过P2、P0端口连接地址和数据总线,可实现扩展。P0与P2组合实现地址输出, P0实现数据总线,因此一个数据周期需要两个总线周期。16位地址可访问64K外部地址空间。 外部内存地址与内部内存地址是平行的,因此都有0x0001,但是访问外部存储器通过MOVX指令实现。-----------------AVR:程序存储空间与SRAM数据存储空间独立编址。...

2020-07-06 12:35:32 834

原创 关于程序语言与操作系统的个人理解

程序编写原则: 用最简单的语法,构建比较高效的代码。 不要迷恋那些复杂的语法和技术,极度不建议采用带有二义性语法。最好采用各种语言通用的语法结构,采用最简单的语句,除非只有痛过构建特殊语法才能提高性能。 if ( a == b && b > 100) 当你不确定 逻辑运算与比较运算谁优先时,那么 if ( (a == b) && (b > 100)) 更加清晰,出错的概率就越...

2020-07-06 12:31:14 333

原创 一个老程序员和他的1000万小挑战

接触软件程序有二十几年了,将近五十岁的程序员,在中国我想是不多的,至少在我周边很好。我本非猿,却做了二十年程序员,我本非财,却做了十年财务会计。没做过什么轰轰烈烈的事,也没参加过什么伟大的项目,甚至都没有任何出格的事,人就老了。看着那些小年轻,心里极是羡慕。到了这个年纪,不敢谈什么适应世界、改变世界的梦想。毕竟,世界永远是年轻人的。虽然没有什么资历,但是一路平凡,也看了不少风景。单就阅读量来说,我还是读了不少书的,涉猎也算广泛吧,只是比较肤浅。就软件开发来说,我个人还是有那么一些感触。我算是

2020-07-06 00:12:55 342

原创 中间件原理

中间件原理1. tomcat        使用tomcat已经有很长一段时间了,对weblogic也大概了解过,但是因为不做大型项目,因此对于分布式应用的开发了解得比较少。对于什么是中间件,也只是一个模糊的概念。        开始只知道Tomcat,必须有tomcat软件和JDK软件配合使用,至于怎么配合使用的,就没有深究过。每次做项目,就是安装JDK,然后安装Tomcat

2017-06-28 15:37:17 782

原创 写给想成为程序员

  对计算机好奇,对计算机痴迷,你自然就会自己学会写程序。     很多人都想学计算机软件,却很少思考学了做什么,为了赚钱么?如果你仅仅把学习作为生存的工具。那么我认为学习软件开发不是最好的选择。     如果不是兴趣,软件开发是一个很辛苦的事情,需要长期的坚持,绝对不是赚钱的最好方法。     我虽然没有在大公司做过软件开发,也没有参加过什么有名的系统开发,但是我一直在学习计

2014-12-23 12:24:49 522

原创 保护模式与操作系统

386之后,引入了处理器的保护模式,在计算机发展中,这是一个大事件,因为保护模式概念的提出,使现代操作系统成为可能。如果不采用虚拟地址的概念,那么现代操作系统要管理如此庞大的资源,肯定是一个噩梦。    实模式:是指直接访问物理内存,指令中的地址值是物理内存地址。    保护模式:是指指令中的地址不再是物理地址,而是虚拟地址,要经过MMU的处理转换成物理地址。    由于保护模式的提出

2012-12-03 14:51:16 3706 1

原创 跟我学编程(6)-java

java语言最初目标应该是用来在一些小型设备上运行的,java是用来实现控制逻辑,而实际的执行交由底层的程序去实现。      java与其他语言最大的区别就是需要虚拟机才能运行,关于什么是虚拟机,很多程序员不太了解。      我们在windows或dos操作系统中,用一个编辑器编写一个程序后,用编译器等工具把程序变成了一个可执行文件,如test.exe。然后我们只要双击这个文件或在do

2012-07-19 17:15:10 690 3

原创 情绪控制是一种习惯

情绪控制是一种习惯,一个人受外界刺激而产生神经反应通常会盖过以前的记忆,也就是说短期情绪波动谁也没法避免。当你说“从明天开始减肥,我再也不吃巧克力了”,而实际上一看到巧克力那种欲望往往会盖过你曾经做出的所有努力。这不是你的错,只要是生物(动物),就有与你一样的境遇,不要埋怨自己没有控制力。当你发怒过后总是后悔“哎,我应该控制自己的情绪的,但是我就是很生气。”,然后你暗下里发誓以后一定要控制好自己的

2012-07-19 15:56:12 854

原创 我的世界观-6-人类感官的局限性

神经元是感知世界的唯一途径,因为感知世界就是神经元网络对外界刺激的一种反应。      动物只能感知变化的信号(信号意味着变化,信号是一个物理量的变化),人体内脏都有神经元,但是大脑却感觉不到内脏器官的存在,除非内脏发生了异常(信号),如疼痛,信号才会被传入大脑,这也说明在一个稳定的无变化的神经网络中,信号是不存在的,也就无所谓处理。      任何系统均有其局限性,人类的所有感官也一

2012-07-19 15:11:01 5856

原创 我的世界观-5-是什么决定了人类在众多物种中的胜出

人类与其他动物,有哪些区别呢?      能判别危险?动物一样也会判别。      能制造工具?有些动物也可以,只是非常简单。      能直立行走?袋鼠也行。      会说话?鸟也会通过叫声传达不同含义。      学习能力?很多动物经过训练一样也能学会很多人类的动作。        为什么人类总想把自己与别的动物区分开来呢?其意义就在于只有区分开来了,人才可以任意屠杀

2012-07-19 15:06:05 933

原创 自学计算机原理

第一章 实现简单需求      一般学习一门计算机语言,通常的做法就是去买本书,然后照着书上的讲解,写好程序,编译运行,然后观察结果是否正确。其中第一个例子,约定俗成地就是在屏幕上打印一行“Hello world.”,这里我们并不想首先就教会您怎么写出一个可以运行的程序,而是通过问题的引出和解决方法的理解软件是用来做什么的,一般用软件可以解决什么样的问题。      人类知识的出现必然有其

2012-07-19 14:55:59 1684

原创 我的世界观-4-复杂生物是一个功能复合体

地球上的危险,绝大部分来自于动态的刺激,对于周边有毒物质的化学刺激的应对一般在生命之初就已经有了选择。这种动态的刺激人类所能感受到的如视觉、听觉、触觉、嗅觉等,人们可以通过这些信号判断是否具有危险而采取相应措施。就如一条毛毛虫,如果你用棍子扎它一下,它就会卷曲一下试图保护自己,这是动物具有神经细胞的原因。在一个生物体的复杂结构中,如果正好有一种机制,如上右图,当有外力施加到生物体时,生

2012-07-19 14:36:20 616

原创 我的世界观-3-熵增是生物进化的基本动力

生物从简单进化到复杂,是什么在背后决定着这一切,从自然科学的观点来说,物质的运动其背后总有一个驱动力。那么生物进化的基本动力是什么呢,这就是热力学第二定律现象,当然这个定律所揭示的还只是现象,关于更深次的原因,目前人类也没有找到。可以说,进化是熵增的结果,是因为地球表面物质的混合度在不断地增加,其产生的物质结构也必然越来越复杂。进化就是混合物质的稳定过程,一种变异被纳入一个生物的特性,必然是这种特

2012-07-19 14:27:48 2928

原创 我的世界观-2-适者生存的物质原理

就如我们看一个生物角落的生长,地球在这个以人类为主的生物群落的辛勤耕作下变得越来越混沌。我们要从这个越来越混沌的世界中找到生存之道,就必须从更多的信息中计算出事物发展的规律。无论是气候、经济、社会还是人类自身意识,在时间的驱使下变得越来越复杂,要想取得生存就必须有比以往更复杂的头脑。人们发现自然科学进步了,自己却变得越来越失落了,以至于人们感觉生存的挑战越来越大,世界也越来越难以控制。战争、毒品、

2012-07-19 14:26:11 2953

原创 我的世界观-1- 世界的无限性

人类能感知物质世界的空间,也能感知时间的流逝。空间和时间是人类对于所感知世界的一种定义,与人类对于自己情绪的定义没有本质区别。只是,一种来自外部信息对感官的刺激,而另一种则来自于人自身的生物电。因为我们的感官有限,因此我们能感知到的世界也是有限的,用有限的感知去推测无限的世界,这是人类永远前进的动力。       我们能感觉到空间是三维的,是因为我们的眼睛、触觉、听觉能辨别的就只有三维空间

2012-07-19 14:23:53 903

原创 做一个快乐的程序员(1)

我们应该快乐地工作着,快乐地生活着。 程序员总是能从调试成功一个程序而找到快乐,那种快乐来自于成就感。但是作为一个职场人,我们总是有着各种苦恼。一. 对于“按劳分配”的不公,是大多数职场人的感受。     “我比他的工作量还大,为什么我的收入还少。”,    “我觉得我的工作才是最重要的,为什么领导都不重视我。”     “如果不是因为我,这个项目早挂了,现在成功了,功劳都是别人的

2012-07-19 14:15:16 695

原创 USB原理(1)

USB作为目前计算机的最广泛使用的外设接口,让我们变得越来越便利。     USB的设计理念与传统的外设接口设计有很大区别,一般的外设接口设计仅仅规定通信过程的实现,很少涉及到通信内容本身。而USB协议则对通信内容的解析有很多规定,因此其协议内容比一般的协议都复杂,即使你理解TCP/IP协议,但是当面对USB协议时,也会感觉一头雾水。     正因为USB实现目标是多种不同类型和速度设备的

2012-07-18 20:46:57 2796

原创 跟我学编程(5)

编写软件,一个工具总是包含几个部分:   1)编写源代码的编辑器,是用来写字的,就如一张纸,其目的是让程序编写者更加容易书写程序,一般具有高亮度显示关键字功能。我们也可以直接用任何不带格式的文本编辑器书写代码,用office-word一样可以书写程序,只是保存时需要保存为纯文本格式。   2)编译器和连接器,是将程序编译成可执行代码的一个程序,这个是一个程序语言的核心,决定着程序的代码格式

2012-07-17 15:09:38 442

原创 跟我学编程(4)

学习编程最好的方法,就是直接找个开发工具,找本书照着书输入代码,编译运行看结果,然后自己根据语言的原理修改修改代码,看运行结果的变化。如果不去实践,刚看书是很难理解的,而一旦付诸实践,只要运行通过一个程序,你就发现,第二个、第三个就变得相当简单。    如果你对程序编写一点概念也没有,那么可以去找个开发工具,对照书本学习,首先不需要理解程序的运行原理,只需要看到结果。从结果中找到成就感和编写程

2012-07-17 13:54:39 572

原创 跟我学编程(3)

很多人做软件开发非常执着于技术本身,希望通过更少的代码解决最多的需求,这个想法本身是没有错的,但是应该有一个前提,就是代码的可维护性比代码的简洁性重要。       如下面一段代码:           void   swap(int *x, int *y)          {                  *x = *y ^ *x;                  *

2012-07-17 13:04:14 261

原创 跟我学编程(2)

我原来学的是机械设计,后来才因为兴趣自学了些编程知识,虽然工作的过程非常辛苦,但是自学也给予了更多的自信。      我的计算机学习和工作生涯,是从学习编程语言直接开始的,直到工作了4年之后,对于计算机的基础知识基本还是没有接触过,对于电子电路、计算机原理、接口通信一点概念也没有,甚至对于操作系统原理也没有任何了解。 虽然通过项目开发积累了一些技术技巧和软件开发的经验,但是由于对于基础知识的缺

2012-07-17 11:04:00 410

原创 跟我学编程(1)

最初学习编写软件,纯粹是个人爱好,后来却成了我的职业。       在一些论坛和百度知道里都有很多人在问,做程序员工资高不高,该学什么语言之类的问题。这也是我曾经疑问,但经过多年学习和工作之后,似乎这些问题有了大概的答案。如果不是因为爱好,千万不要选择做程序员,因为那样你会觉得生活的很累,选择了做程序员,那么学什么语言并不重要,而是什么语言都得学点,虽然不是工作需要,但是集思广益,从不同的知识

2012-07-17 10:13:06 801

计算机中断系统的理解

对于处理器中断的理解,是构建嵌入式系统的基础。特别是操作系统移植首先是中断的接管。知道中断处理的原理,对于程序员来说,是理解操作系统的第一步。

2020-07-06

socket-TCPIP实现原理.pdf

程序员编程时通常面对的是socket编程,那么socket与TCP/UDP之间是什么关系呢,TCP/UDP在操作系统内核是怎么实现的呢。

2020-07-06

TCP、UDP路由原理.pdf

TCP与UDP在网络中的通信过程,包的路由原理,程序员如果对网络编程,应该明白底层做了什么,才能让程序更自由。这只是本人的学习笔记。

2020-07-06

实模式与保护模式的硬软件原理

现代PC操作系统的保护模式原理, 虚拟内存与总线寻址的关系,

2015-06-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除