Java
文章平均质量分 82
SleepInDelphi
perl,c,java,delphi,ajax,biancheng
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
别再死记硬背DXF组码了!用VBA写个‘字典查询器’,5分钟搞定CAD二次开发
本文介绍如何利用VBA开发智能DXF组码查询工具,帮助CAD二次开发工程师快速查询和理解DXF组码,提升开发效率。通过构建字典查询器,实现组码与描述的快速映射,解决传统手工查询效率低、易出错的问题,特别适用于处理复杂的Polyline等CAD对象。原创 2026-06-12 09:42:26 · 403 阅读 · 0 评论 -
只要一个返回语句
别再这样写了:public boolean foo() { if (true) { return true; } else { return false; }}每次当我深入某个开源项目,看到大概是某个专家写的、并被有经验的专业人士审查过的这样的代码, 我都会惊讶不已,竟然没有人去阻止这个开发者在这个方...原创 2012-05-18 13:18:55 · 137 阅读 · 0 评论 -
java编程的78条黄金法则
创建和销毁对象1、考虑用静态工厂方法(返回类的实例的静态方法)代替构造器2、遇到多个构造器参数时要考虑用构造器3、用私有构造器或者枚举类型强化Singleton属性4、通过私有构造器强化不可实例化的能力5、避免创建不必要的对象6、消除过期的对象引用7、避免使用终结(final)方法对于所有对象都通用的方法8、覆盖equals时请遵守通用约定9、覆盖equals时总要覆盖hashC...原创 2012-05-16 12:57:14 · 224 阅读 · 0 评论 -
for 循环为何可恨?
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://justjav...原创 2012-05-15 12:44:28 · 245 阅读 · 0 评论 -
Java 8 新功能
我们已经急不可待想知道Java 8可用的新功能,其中大部分是以前为Java 7设计的新功能,但不得不推迟。现在,甲骨文承诺,他们在“革命”,而不是“进化”新版本。未来Java语言有什么呢?马克·雷纳德,甲骨文的Java的总设计师,在2011年JavaOne大会上,给观众提到了Java 8预计会有什么,并谈到即将到来的Java 9一点点计划。这是不幸的,本来将会在Java 7实现的五个重要...原创 2012-05-02 08:48:09 · 230 阅读 · 0 评论 -
java面试题及答案(二)
16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。17、abstract class...原创 2012-04-25 13:01:24 · 145 阅读 · 0 评论 -
java面试题及答案(一)
1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了...原创 2012-04-25 13:00:06 · 151 阅读 · 0 评论 -
网上支付原理
一个电子商务网站要开通网上支付功能,有两种途径:一是通过第三方支付平台,例如支付宝、网银等;二是与银行协商获得一个支付接口。前一种方式以支付宝为例,商户可以向支付宝提交申请,申请成功后支付宝会提供一个整合支付宝到商户网站的接口并提供该接口的调用方法及示例。这种网上支付方式手续简单,支付宝向商户收取的费用是按商户网站通过支付宝完成的交易额按一定比例来收取的。后一种方式需要和开通网上支付功能的银...2011-12-14 16:43:05 · 262 阅读 · 0 评论 -
[转载]谈谈2011年度最佳代码
原文: http://blog.zhaojie.me/2011/08/from-the-code-of-no-matter-you-believe-it-or-not.html作者:赵劼 这段代码是这样的: try{ if (you.believe(it) == true || you.believe(it) == false) { ...2011-08-08 16:24:43 · 225 阅读 · 0 评论 -
学习JAVA浮点数必看文章!
虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它。这容易理解 ― 我们中大多数很少需要使用非整数类型。除了科学计算和偶尔的计时测试或基准测试程序,其它情况下几乎都用不着它。同样,大多数开发人员也容易忽略 java.math.BigDecimal 所提供的任意精度的小数 ― 大多数应用程序不使用它们。然而,在以整数为主的程序中有时确实会出人意料地需要表示非整型数据。...2011-06-09 09:13:09 · 166 阅读 · 0 评论 -
使用 AppFuse 的七个理由
AppFuse 是一个开放源码的项目和应用程序,它使用了在 Java 平台上构建的开放源码工具来帮助我们快速而高效地开发 Web 应用程序。我最初开发它是为了减少在为客户构建新 Web 应用程序时所花费的那些不必要的时间。从核心上来说,AppFuse 是一个项目骨架,类似于通过向导创建新 Web 项目时 IDE 所创建的东西。当我们使用 AppFuse 创建一个项目时,它会提示我们将使用开...原创 2010-07-05 08:20:14 · 173 阅读 · 0 评论 -
CruiseControl
CruiseControl 是 CI 服务器的老者。它已经用了有五年多了,在许多方面, CruiseControl 服务器 已经成为持续集成实践的同义词。出于完全坦白的目的,我应当提到,我也是 CruiseControl 的多年的老用户。改进的安装如果您从最后一次使用 CruiseControl 到现在已经有段时间,而且认为它的安装和配置是个负担,那么您可以看看最新版本。现有,有许多方...原创 2010-06-29 15:11:28 · 145 阅读 · 0 评论 -
数字签名是什么?
今天,我读到一篇好文章。它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。===============================...2011-11-29 17:32:14 · 154 阅读 · 0 评论 -
STM32F103精英板+TB6612驱动直流电机保姆级教程(CubeMX+HAL库)
本文详细介绍了如何使用STM32F103精英板和TB6612驱动模块控制直流电机的完整流程,包括硬件连接、CubeMX配置、代码编写及常见问题排查。通过保姆级教程,读者可以快速掌握从零开始的电机驱动技术,特别适合初学者和开发者参考。原创 2026-06-12 16:24:55 · 522 阅读 · 0 评论 -
Java 7新I/O特性解析
Java 7提供了一个新API访问文件系统,但除此之外,JSR 203(NIO.2)还包含其它很多新特性,这个新版本的确新增了很多改善I/O编程的类,本文将会介绍下面的新特性:· SeekableByteChannel:随机访问通道;· MulticastChannel:允许IP多播的通道;· NetworkChannel:新的网络通道超级接口;· 异步I/O API:新的...原创 2010-06-23 08:53:20 · 159 阅读 · 0 评论 -
别再只用它切木头了!用LightBurn玩转激光雕刻:图片处理、参数设置与创意项目实战
作为行业标杆软件,LightBurn的强大功能往往被大多数用户低估——它不仅能处理基础切割任务,更能通过精细参数调控,在皮革、亚克力甚至金属表面实现摄影级精度的雕刻效果。本文将带您突破软件的基础应用层面,掌握专业工作室都在使用的图片处理流程与材料参数配方。当掌握了皮革雕刻的黄金参数后,您会发现激光能在植鞣革表面创造出令人惊叹的渐变效果。实际操作中建议先进行阶梯测试:创建包含10个矩形区域的测试文件,每个区域采用0.5W递增的功率设置,雕刻后选择效果最均匀的参数作为基准。亚克力材料则需要完全不同的处理方式。原创 2026-06-12 14:20:19 · 519 阅读 · 0 评论 -
告别鼠标流!用这10个TeXStudio快捷键,让你的LaTeX写作效率翻倍
本文介绍了10个TeXStudio快捷键,帮助LaTeX用户大幅提升写作效率。从编译三连击(F5/F6/F7)到数学公式的极速输入法(Alt+Shift+M等),这些快捷键设计合理,能有效减少鼠标操作,让写作流程更加流畅。文章还提供了高级玩家的自定义配置建议和形成肌肉反射的训练方法,助你彻底告别鼠标流。原创 2026-06-12 12:31:59 · 519 阅读 · 0 评论 -
TDD(Test-Driven Development)测试驱动开发
测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。 TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计...原创 2010-06-20 19:38:00 · 202 阅读 · 0 评论 -
用Apache Velocity模板引擎速造网站
基于Java的网站开发,很多人都采用JSP作为前端网页制作的技术,尤其是在国内。这种技术通常会存在一些问题,可以通过简单地分析网站开发过程来看看这些问题。通常网站开发采用以下两种方式: ◆ 网站功能确定后,由美工设计网页的UI(界面)部分,然后由程序员在其上加入代码显示逻辑(比如循环、判断显示数据结果)。这就是通常的JSP页面制作,当然这部分可以由美工完成模板,然后由JSP工程师以它为原型创建相应...原创 2010-06-19 13:38:16 · 170 阅读 · 0 评论 -
android 机器人
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前最好的是Android2.0的摩托罗拉Droid Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟Open ...原创 2010-06-19 08:53:28 · 501 阅读 · 0 评论 -
Servlet 3.0 新特性详解
Java servlets 是一项被普遍接受的技术,用于构建基于 web 应用程序的动态内容;Servlet 3.0 规范早期草案版本的发行让该技术在特性和应用程序接口(Application Program Interface,API)方面得到了极大增强。Java Specification Request(JSR)已经以 JSR 315 的形式得到了批准,并计划成为 Java Ente...原创 2010-06-19 08:52:46 · 180 阅读 · 0 评论 -
构建和实现单点登录解决方案
在现有的应用程序中实现单点登录解决方案(single sign-on,SSO,即登录一次,就可以向所有网络资源验证用户的身份)是非常困难的,但是在构建复杂的门户时,每个开发人员都要面对这个问题。因为门户需要与后端资源集成,而每个后端资源都有自己的身份验证需求,所以门户常常必须向用户提供单点登录特性。在本文中,Chris Dunne 一步步地描述了他为一个 Web 门户构建单点登录解决方案的...原创 2010-06-19 08:50:39 · 285 阅读 · 0 评论 -
MC9S08GW64 PCNT模块:硬件解码旋转编码器,实现低功耗精准位置跟踪
在嵌入式系统开发中,精确跟踪旋转设备的位置和方向是电机控制、编码器接口等应用的基础需求。其核心原理在于通过专用硬件模块,自动解码传感器脉冲序列,实现独立计数与方向判断,从而将CPU从繁琐的轮询任务中解放出来。这种硬件级解决方案的技术价值在于显著提升系统实时性、降低CPU负载,并支持在低功耗模式下持续工作。其典型应用场景包括工业电机伺服控制、机器人关节定位、流量计量以及需要长时间待机的电池供电设备。本文以MC9S08GW64微控制器的位置计数器(PCNT)模块为例,深入剖析其如何通过内置状态机高效处理正交编码原创 2026-06-12 09:41:22 · 452 阅读 · 0 评论 -
初探Java 7异常处理功能增强
【51CTO译文】之前我们介绍过Java 7的最新特性更新和代码示例,今天我们来看看Java 7异常处理方面的功能增强。来自Coin项目的又一个细微语言增强已经被包含在Java 7中:由谷歌专任工程师兼Java讲师Neal Gafter提出的Java增强异常处理功能。Open JDK开发的领导者Joe Darcy已经在其博客上宣布了这个变化。此次变动增加了两处对异常处理机制的细微增强:...原创 2010-06-11 11:25:00 · 156 阅读 · 0 评论 -
网站建设中关于eclipse启动参数的优化
在网站建设中,经常用到eclipse,每次启动都是很费时间的,那么如何对它进行优化呢?版本:Eclipse3.6参数配置文件:eclipse.ini结果:修改后启动速度直观上有比较明显的加快注意:重点是后面红字部分的设置首先建立评估体系,比如,我们需要建立一个网站http://www.hualai.net.cn,首先将workspace里所有的项目close掉,关闭eclips...2012-08-23 09:23:22 · 155 阅读 · 0 评论 -
Java EE 单元测试
觉得测试 Java EE 应用程序太困难、不方便或者太复杂?通过阅读本文,您将了解现实情况并非如此,同时还将了解如何高效进行单元测试。测试是 Java Platform, Enterprise Edition (Java EE) 仍存的神秘领域之一。人们常常错误地认为 Java EE 应用程序的测试比较困难、不方便或者太复杂。从五年多前 Java EE 5 发布以来,实际情况并非人们所认为的...2013-09-12 10:56:49 · 699 阅读 · 0 评论 -
Java NIO与IO的详细区别(通俗篇)
内核空间、用户空间、计算机体系结构、计算机组成原理、……确实有点儿深奥。 我的新书《代码之谜》会有专门的章节讲解相关知识,现在写个简短的科普文: 就速度来说 CPU > 内存 > 硬盘 I- 就是从硬盘到内存O- 就是从内存到硬盘第一种方式:我从硬盘读取数据,然后程序一直等,数据读完后,继续操作。这种方式是最简单的,叫阻塞IO。 第...2014-01-02 10:51:43 · 1017 阅读 · 1 评论 -
LayaAir 3.0 Shader实战:从SubShader到Material,手把手教你写一个自定义流光特效
本文详细介绍了在LayaAir 3.0引擎中实现自定义流光特效的完整流程,从Shader编写到材质应用。通过解析流光特效的核心原理,提供SubShader结构创建、ShaderPass编写及着色器代码实现的具体步骤,帮助开发者掌握Shader编程技巧,打造惊艳的视觉特效。原创 2026-06-12 09:24:12 · 565 阅读 · 0 评论 -
MC9S08SF4 IIC通信与中断优先级控制器(IPC)实战配置指南
在嵌入式系统开发中,IIC总线协议和中断管理是两项基础且关键的技术。IIC作为一种同步、多主从的串行通信总线,通过时钟线(SCL)和数据线(SDA)实现设备间高效数据交换,其工作原理基于起始/停止信号、地址帧和数据帧的时序控制。中断机制则允许处理器快速响应外部事件,通过保存当前上下文并跳转到特定服务程序来提升系统实时性。在资源受限的8位微控制器如MC9S08SF4上,合理配置IIC模块和中断优先级控制器(IPC)对系统稳定性和性能至关重要。IIC模块的稳定通信依赖于正确的波特率设置、从机地址配置以及基于状态原创 2026-06-12 11:37:51 · 513 阅读 · 0 评论 -
MC9S08SF4 MTIM16定时器与PRACMP比较器配置实战与避坑指南
在嵌入式系统开发中,定时器和模拟比较器是构建稳定、高效、低功耗应用的核心基础外设。定时器通过精准的时钟计数,为系统提供时间基准、PWM生成和事件测量等功能,其工作原理涉及时钟源选择、预分频和计数模式等关键概念。模拟比较器则通过快速比较两个模拟电压,输出数字信号,无需复杂转换即可实现电压监控、阈值检测,在低功耗系统中价值显著。本文聚焦于恩智浦经典8位MCU MC9S08SF4,深入剖析其16位模数定时器(MTIM16)和可编程参考模拟比较器(PRACMP)的寄存器配置、工作模式及联合应用。针对实际工程中常见的原创 2026-06-12 12:22:37 · 574 阅读 · 0 评论 -
「译」Java集合框架系列教程三:Collection接口
原文:The Collection Interface译文:Java集合框架系列教程三:Collection接口一个集合表示一组对象。Collection接口被用来传递对象的集合,具有最强的通用性。例如,默认所有的集合实现都有一个构造器带有一个Collection类型参数。这个构造器被称作转换构造器,用指定集合的元素来初始化新集合,而不管指定集合实现的是哪个集合接口和实现类型。换句话说,...2013-01-18 13:16:27 · 220 阅读 · 0 评论 -
「译」Java集合框架系列教程二:集合接口
原文:http://docs.oracle.com/javase/tutorial/collections/interfaces/index.html译文:Java集合框架系列教程二:集合接口核心集合接口封装了不同类型的集合,如下图所示。这些接口使得我们可以操作集合而不必关心它们的具体实现细节。核心集合接口是Java集合框架的基础。正如我们可以从下图看到的,核心集合接口形成了层次结构:...2013-01-18 13:13:48 · 224 阅读 · 0 评论 -
别再死记硬背MIPS指令格式了!用Logisim手把手教你设计指令译码器(附完整电路文件)
本文通过Logisim工具详细讲解了如何从零构建MIPS指令译码器,帮助读者直观理解CPU核心组件的工作原理。文章涵盖MIPS指令格式解析、电路搭建步骤及调试技巧,特别适合计算机组成原理学习者通过可视化方式掌握指令译码器的设计方法。原创 2026-06-12 09:05:51 · 533 阅读 · 0 评论 -
Java入门教程学习
不介绍Java 常用语,对Java 的总体介绍就是不完整的。尽管促使Java 诞生的源动力是可移植性和安全性,但在Java 语言最终成型的过程中,其他一些因素也起了重要的作用。Java 设计开发小组的成员总结了这些关键因素,称其为Java 的专门用语,包括下面几个: · 简单(Simple) · 安全(Secure) · 可移植(Portable) · 面向对象(Objec...原创 2012-04-20 11:28:10 · 167 阅读 · 0 评论 -
菜鸟入门:Java语言学习六大要点
Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设: 1. 学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究 2. 将来的应用开发是在成熟的...原创 2012-04-20 11:28:01 · 162 阅读 · 0 评论 -
Java泛型-类型擦除
一、概述 Java泛型在使用过程有诸多的问题,如不存在List<String>.class, List<Integer>不能赋值给List<Number>(不可协变),奇怪的ClassCastException等。 正确的使用Java泛型需要深入的了解Java的一些概念,如协变,桥接方法,以及这篇笔记记录的类型擦除。Java泛型的处理几乎都...原创 2012-12-05 15:48:38 · 365 阅读 · 0 评论 -
Java 7的并行支持:Fork/Join
今天,处理器的内核数量在不断增加,以什么样的方法开发程序才能发挥出新硬件的效能呢?这正变成一个愈发重要的问题摆在了开发者面前。IBM Developerworks已经发布了一篇介绍Fork-Join并发类库的连载文章,Fork-Join类库会作为即将来到的Java 7的一部分进行发布。作者以前也报道过Java 7中最初的fork/join提案,其中还包含来自最初创建者Doug Lea的反馈。D...原创 2010-06-11 11:24:45 · 134 阅读 · 0 评论 -
Eclipse程序员要掌握的常用快捷键
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个程序员图书列表,目的也就是通过读书,让程序员变懒。 写道程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得做着重复单...2012-08-22 09:33:06 · 276 阅读 · 0 评论 -
java中equals和==的区别
值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 ==比较的是2个对象的地址,而equals比较的是2个对象的内容。 显然,当...2012-08-15 16:31:30 · 103 阅读 · 0 评论 -
MC9S08SF4 MCU时钟与定时器深度解析:从ICS配置到MTIM16低功耗应用
在嵌入式系统开发中,微控制器(MCU)的时钟系统与定时器是构建稳定、高效应用的核心基础。时钟系统如同MCU的“心脏”,为所有指令执行和外设同步提供精准节拍,其配置直接决定了系统的性能、功耗与稳定性。定时器则作为精准的“时间管家”,基于时钟源实现延时、周期中断与信号测量等关键功能。理解时钟源(如内部时钟模块ICS)的工作原理,掌握其多种工作模式(如FEI、FBI、FBILP)的配置与切换策略,是进行功耗优化和系统可靠设计的基石。通过灵活配置总线时钟分频器(BDIV)和频率锁定环(FLL),开发者可以在性能与功原创 2026-06-12 09:40:36 · 549 阅读 · 0 评论
分享