- 博客(29)
- 资源 (1)
- 收藏
- 关注

原创 go和java - 从协程池和线程池的实现看权衡和妥协
更多技术交流文章,请关注微信公众号【时代码农】我们在Java和其他编程语言中,都可以看到线程池的概念。而Go中,没有线程,只有协程。协程与Java中的线程有一个很大的区别:Java中的线程是一个实实在在的对象,可以获取,例如:Thread t = new Thread();这也给我们一个印象,线程池持有一组Thread对象。而Go中的协程,并不能持有,例如,我们经常这样使...
2019-04-17 23:39:02
1190
原创 程序员的上帝视角(3)-纯粹
当我们进行逻辑编写时,无论是参数,还是调用其他方法的返回值,从“纯粹”的角度来看待它们,不带入任何业务场景。看待问题的角度和思考问题的思路,是否会有所不同呢?
2023-03-04 13:47:38
492
原创 程序员的上帝视角(2)——我所体悟的思维方式
这正是心学所提倡的,我们需要“心外无物”。所有事物的本质,并不在事物之中,而在我们自己心里。我们必须用自己心来掌控知识。学习一门知识,并不是知道其原理,而是需要体会到这样的设计、思路到底体现了怎样的思想。
2023-03-03 09:44:56
535
2
原创 程序员的上帝视角(1)中国古典哲学与编程思考
凡事有道。自古至今,人们从未放弃对于道的追求。古人追求的是天地万物运行的规律,得道之人,是为圣人。我们自然不敢与先贤相比,但是,也总免不了思考一个问题——程序之道在哪里?
2023-03-02 19:32:44
431
原创 漫谈Java(3-2) - 成员变量
3.2.1属性的声明属性是对象状态的描述。在Java中,一切都是从类开始,因此,属性也是在类中定义的。一个变量直接作为类的成员来定义,该变量就是成员变量,也就是属性。例如,class CoffeeHouse {int employeeCount;}在上例中,变量employeeCount直接定义在类CoffeeHouse之下,是作为类的成员出现的。因此,employeeCo...
2019-04-22 06:52:26
244
原创 漫谈Java(3-1) - 常量和变量
对象具有自己的属性和行为。例如,咖啡屋中的每位员工,都有自己的属性信息(姓名、年龄、性别、职位等),每位员工都有自己应该具备的行为能力(煮咖啡、端咖啡、结账等)。对应于Java中,设计类时,每个类都应该有自己的属性(成员变量)和方法(成员方法)。这样才能保证创建出来的对象具有相应的属性和方法。现实世界中存在着很多可以量化的事物:有些是固定不变的,例如,地球的赤道周长是40076千米、一年...
2019-04-21 08:21:20
146
原创 漫谈Java(2-4) - 杯、咖啡杯还是骨瓷咖啡杯——类的选型
到目前为止,我们讲述了如何创建一个类,以及如何根据类创建一个对象。类是Java程序的基础。类的创建,实际是程序员对所要模拟的对象的抽象。我们同样提到,根据抽象所采集的特性的不同,所分析出的类也是不同的。那么,在一个应用系统中,我们依据什么样的标准来抽象出类呢?本小节将利用咖啡杯选型的例子来进一步阐述类的选型过程。对应于咖啡屋中的咖啡杯,我们可以尝试选择以下几种原型作为类:1.选择“杯子”...
2019-04-19 06:40:44
1812
原创 漫谈Java(2-3) - 创建对象
2.3.1虚位以待——声明对象让我们设想这样一种场景,咖啡馆需要招聘一名新员工。在经过了一系列的财务预算、确定新员工的职责等流程之后,我们发布虚位以待的信息——诚聘一名新员工。这样,其他人就知道咖啡店需要一名员工。在Java中,当我们需要由建好的类产生一个对象,就需要向系统声明一个对象,告知系统我们现在需要一个对象。声明对象的语法如下:Employee employee;声明一个...
2019-04-19 06:39:24
245
原创 漫谈Java(2-2) - 类的概念
我们前面提到,Java中以面向对象的方式来模拟现实世界。那么,在Java中模拟对象,首先需要考虑的就是如何创建对象,也由此引发了类的概念的提出。2.2.1对象构成的计算机世界——程序计算机从诞生,就开始逐步应用到我们生活的各个方面。例如,它可以帮我们记录仓库库存、计算收支情况。甚至,我们可以在虚拟世界中交朋友、做生意。俨然计算机为我们构建一个新的世界。而计算机靠什么完成的?那就...
2019-04-19 06:35:15
176
原创 漫谈Java(2-1) - 类和对象
2.1 一切皆对象现实世界中,所有的事物都是以各种形态存在的。例如,咖啡屋中的桌子、椅子、咖啡杯、空气弥漫的烤咖啡豆的香味、轻缓的音乐、温馨的灯光。整个世界的运作都是由这些事物来实现的。2.1.1 什么是对象对象的定义方法方法有很多种。我们这里选取一个比较容易理解的定义。按照百度百科的定义,对象是指行动或思考时作为目标的事物。例如,当我们走进咖啡屋,所见到的每一样事物都可以看做对象...
2019-04-19 06:33:30
170
原创 漫谈Java(1) - 面向对象编程
在编程语言五花八门的今天,各种编程的思想百花齐放,而最流行、生命力最强的,是面向对象编程。那么,为什么是面向对象编程呢? 其实,这主要是由系统复杂度所决定的。当一个系统的代码量很小时,使用面相对象还是面向函数编程的模式,在维护成本上,几乎是没有太大区别的。但是,一旦系统的代码量很大时,你就会发现,用纯函数堆积起来的代码,在阅读和维护上兼职是一个灾难。 ...
2019-04-19 06:27:34
237
原创 golang反射和java反射的不同
更多技术交流文章,请关注微信公众号【时代码农】java中的反射,设计思路是,先类型,后值。意思是,无论如何,都是先找到属性和方法的描述,然后根据描述来获取属性的值、调用方法的执行。要进行这样的操作,入口都是由类的描述开始。也就是说,类似getClass().getField("fieldName"),来获得属性描述。通过getClass().getMethod("methodName")...
2019-04-16 22:52:02
1568
原创 分布式,微服务,集群和异地多活
分布式的初衷是为了分隔和拆分子业务,所以分布式指的对象是应用服务器。每个应用服务器都可以部署单独的子业务。一般分析好处,我们可以从下面几点进行考虑:1.可用性。分布式部署,如果一个业务节点出现问题,不会影响其他业务节点,除非其他业务节点依赖了失败节点。2.易扩展,客观上便于高性能。因为单独的子业务,更容易扩展部署。3.易维护,升级部署时,只需要更新子业务本身的代码即...
2019-04-16 22:49:43
2291
原创 preceding轴的使用实例
以前很讨厌轴这个概念,但最近却用它解决了几个问题,认识上也有了提高,记录一下。原XML文档: Neo 20 amount using calculation 1 Neo 30 amount using calculation 2 Mark 40 amount using calculation 3 Neo 50 amount using calcula
2007-01-27 15:51:00
1370
原创 struts框架学习过程中的问题。
1,错误:java.lang.NullPointerException: Module null not found.错误原因,struts运行需要的.jar文件拷贝不足,应该把它们加入到classpath中。
2007-01-27 15:38:00
668
原创 理解postion()和value-of
到底position() 代表了什么呢?它是节点在源文档中的位置吗?position()是指正在处理的节点在节点集中的位置,而这里的节点集是指使用或的select属性所定义的临时结果树(姑且这样理解),所以position()返回的不是节点在源文档中的位置,而是它在临时结果树片段中的位置。 3 zhang
2007-01-25 19:52:00
917
原创 spring框架学习笔记
今天没事,看看spring 的书,结果按照书的代码写了一下,发现了这样一个错误,由于初学,到网上去查错误原因,结果发现中文居然一个都没有记录这个错误的,当然也可能是我没找到,最后才算在一个国外的网站上看了问题的原因,现在把它记下来。错误提示:org.springframework.beans.factory.support.PropertiesBeanDefinationReader is
2007-01-19 22:19:00
1029
原创 preceding轴和following轴
preceding轴--前驱轴,following轴--后继轴。 preceding轴是参照物是上下文节点,另外,前驱是指完全处在上下文节点前面的节点。这里的完全意思是end-tag处在上下文之前的节点。 joe 21 mark 25
2007-01-19 21:29:00
994
原创 多条件约束
XML源文件: 25 3500 develope 35 3500 Management 23 2500 develope XSL代码片段: 如
2007-01-17 23:48:00
1135
原创 E325:ATTENTION
当用vi打开某个文件时,系统给出一段提示信息:E325:ATTENTIONFound a swap file by the name"....." owned by root............此问题是在编辑该文件时当机,重启之后出现的。原因分析:这段提示时vim 给出的。vim 为了尽量保证文件的安全性,在文件编辑时会创建一个交换文件(swap file),当系统重启
2007-01-17 23:31:00
6893
原创 工作日志2007.01.04
工作中遇到的问题 1,awk中利用ENVIRON["var"]无法获得环境变量var的值。 ENVIRON("var")可以获得shell环境变量的值,但是前提是该变量一定是被导出了的。 所以一定要先用export var,然后再在awk中使用。 2,awk中的模式和操作书写时有什么要求。 awk中组成一对的一
2007-01-04 22:51:00
936
原创 grep 和 egrep fgrep
才知道grep 的来历,g/RE/p,全局查找正则表达式并打印结果行。grep 命令的第二个参数就是用来指定匹配模式,所以正则表达式不用斜杠括起来。 egrep 不能使用 / ( / ) 和 / { / },但是增加了更多元字符,e.g.“+”表示匹配一个或多个前一个字符;a|b匹配a或b,当然a和b可以是字符串,但需要用引号括起来,以免引起“|”和通道的混淆。
2007-01-04 22:36:00
1280
原创 awk 的思考
linux shell 有一个比较复杂的命令:awk 。下面是我对该命令的理解和做的一些思考。首先awk 的模式为: # awk -option parameter command fileName其中commmand 的格式为:模式+动作行为。其中option 用的最多的恐怕是:-F ,也就是指定分隔符。现在我们假设使用默认分隔符----空格。 有如下文件 a
2006-11-19 15:51:00
755
原创 XSLT 的几个问题的讨论
看到好多资料和书讲述XSLT,都是泛泛而论,该讨论清楚的问题都没讨论。真是失望。所以所有的书都差不多,也就不奇怪了。还是先讨论几个重要的问题吧!(一家之言,欢迎讨论。。) 1, 上下文节点是当前节点吗?上下文节点当然不是当前节点,上下文节点用“.”来表示,而当前节点则是用current()函数来获得的。请看实例:XML 文件: name=”first”>
2006-11-12 01:35:00
1891
原创 VBA(WORD_VFP)
WORD__VFP编程。1、 在VFP环境里创建一个WORD文档。LS_OBJ=CREATEOBJ(“WORD.APPLICATION”)LS_OBJ.DOCUMENTS.ADD———Documents我们可以认为它是一个文档的类,或者是文档的集合。注意用复数 ———Documents2、 在VFP环境里为所创建的WORD文档添加一个表格。LS_OBJ.DOCUMENT
2006-11-11 23:49:00
3435
原创 数学函数在编程中的应用
在工作中遇到这样一个问题: 某些数据要分N页打印,但是在所有但数据页的前面要打印一张封皮(bg1),然后打印一张公共信息(bg2),后面是数据(bg3),最后还要打印一张统计信息(bg4)。比如说:有50组数据,每张报告打10组,就要分5张报告打印,也就是说,先打一张封皮,再打一张公共信息,然后打5张数据的报告,最后打一张报告,说明这50组数据的统计信息。一共是1+1+5+1=
2006-07-14 20:16:00
2136
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人