随笔分类 -  学习笔记

摘要:偶然拜读IT界知名大佬王垠老师的博客,发现一个有意思的题目: 1 // 这段代码里面到底哪一行错了?为什么? 2 // 原文:http://www.yinwang.org/blog-cn/2020/02/13/java-type-system 3 public static void f() { 4 阅读全文
posted @ 2020-11-07 22:17 杨元 阅读(938) 评论(1) 推荐(1) 编辑
摘要:问题复现场景 同一个StudyInstanceUID,对应两个不同的PatientID。 通俗讲,原本是一个病人的一次影像,却割裂成两个病人的影像,虽然两个病人不影响系统数据,但是同一个Study分别在两个病人名下,但是ID却相同,就会造成DICOMweb插件获取metadata失败,莫名其妙发生4 阅读全文
posted @ 2019-04-10 21:03 杨元 阅读(1169) 评论(0) 推荐(0) 编辑
摘要:小菜最近用到RabbitMQ,由于之前了解过其他消息中间件,算是有些基础,所以随手从网上搜了几篇文章,准备大概了解下RabbitMQ的消息模型,没想到网上文章千篇一律,写一大堆内容,就是说不明白到底怎么回事,真是逼小菜写博客… 首先说明本文只适合有消息中间件基础的读者,本文不会讲解基础概念,而是一针 阅读全文
posted @ 2018-09-02 22:06 杨元 阅读(3882) 评论(0) 推荐(0) 编辑
摘要:replace、replaceAll、replaceFirst这三个函数会java的同学估计都用过,笔者已经用了2年多,可是,我们真的懂他们吗? 概述一下他们三个的用法: ·replace(CharSequence target, CharSequence replacement),用... 阅读全文
posted @ 2015-09-15 11:32 杨元 阅读(36323) 评论(2) 推荐(4) 编辑
摘要:先感慨下,好久没写博客了,一是工作太忙,二是身体不太给力,好在终于查清病因了,趁着今天闲下来,迫不及待与读者交流,最后忠告一句:身体是活着的本钱! 言归正传,对java有了解的同学基本上都体验过JDBC,基本都了解PreparedStatement,PreparedStatement相比Sta... 阅读全文
posted @ 2015-09-15 10:28 杨元 阅读(29028) 评论(5) 推荐(5) 编辑
摘要:java常量池是一个经久不衰的话题,也是面试官的最爱,题目花样百出,小菜早就对常量池有所耳闻,这次好好总结一下。理论 小菜先拙劣的表达一下jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令,这个太高深,小菜不懂。 本地方法栈是jvm调用操作系统方法所使用的栈。 ... 阅读全文
posted @ 2015-07-08 23:29 杨元 阅读(29996) 评论(15) 推荐(25) 编辑
摘要:Smack框架对XMPP协议进行了封装,从而方便与Openfire即时通信服务器做交互。说白了,Smack框架可以通过对象构造符合XMPP协议的XML字符串,避免手动拼接字符串。XMPP协议基本XML结构如下:1 5 消息内容6 大多数情况下,这么简单的结构是满足不了需求的,我们可能... 阅读全文
posted @ 2015-05-11 23:06 杨元 阅读(5353) 评论(0) 推荐(0) 编辑
摘要:在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用,就拿最常见的console.log("info…")来说,避免书写冗长的console,直接用log("info…")代替,不假思索的会想到如下语法:1 var log = console.log;2 log(... 阅读全文
posted @ 2015-05-10 22:53 杨元 阅读(3947) 评论(2) 推荐(2) 编辑
摘要:至今,小菜用java快两年了,有些事,也该有个总结。 基本类型和包装类型的概念在本文不作赘述。 如果这两种类型直接使用,倒没什么值得讨论的,无非就是自动装箱拆箱,java可以让你感觉不到他们的存在,但如果我们在数据库映射实体(下文简称bo,即businessobject)中使用,就得注意了!... 阅读全文
posted @ 2015-04-19 21:07 杨元 阅读(2957) 评论(0) 推荐(0) 编辑
摘要:今天小菜无意间在社区看到一个讨论:“0~400中1出现了多少次?”。 小菜看到大部分网友给出的算法是基于字符串的处理,思路大致是:把所有数字拼接成一个字符串,然后对字符串进行处理,进而获取出现次数。例如以下代码: 1 /** 2 * 网友版本 3 * 找出"1"出现的次数 4 **/ 5 ... 阅读全文
posted @ 2015-03-03 12:04 杨元 阅读(1506) 评论(3) 推荐(1) 编辑
摘要:JQuery这种Write Less Do More的框架,用多了难免会对原生js眼高手低。 小菜其实不想写这篇博客,貌似很初级的样子,但是看到网络上连原生js事件绑定和解除都说不明白,还是决定科普一下了。 首先声明,小菜懂的也不是很多,只是把我的思路和大家分享一下。DOM0事件模型 事件... 阅读全文
posted @ 2014-12-28 22:46 杨元 阅读(73083) 评论(12) 推荐(25) 编辑
摘要:重写window对象的方法不是一件新奇的事,比如我们可能需要改变默认alert的行为,如何安全的重写呢? 小菜看到某知名IT网站是这样的写法:1 window.alert = function(){}; 或者1 alert = function(){}; 实际上,这种写法有些欠妥。这相当于... 阅读全文
posted @ 2014-12-28 22:06 杨元 阅读(3372) 评论(2) 推荐(3) 编辑
摘要:谷歌浏览器不仅仅可以用来上网,对于开发人员来说,它更像是一款强大的开发辅助工具。 工欲善其事必先利其器,接下来笔者给大家分享一些Chrome的使用方法。 假如读者了解如何在Chrome中添加JavaScript断点,那请继续阅读;否则,自行脑补。 假如有这样一段代码: 1 var a = ... 阅读全文
posted @ 2014-11-29 00:06 杨元 阅读(27704) 评论(2) 推荐(6) 编辑
摘要:此方法并非笔者原创,笔者只是在前辈的基础上,加以总结,得出一种简洁实用的JavaScript继承方法。 传统的JavaScript继承基于prototype原型链,并且需要使用大量的new操作,代码不够简洁,可读性也不是很强,貌似还容易受到原型链污染。 笔者总结的继承方式,简洁明了,虽然不... 阅读全文
posted @ 2014-11-23 15:30 杨元 阅读(1089) 评论(2) 推荐(0) 编辑
摘要:循环是模版引擎必不可少的一部分,而说起循环,会引出一个至关重要的因素:索引。 所谓索引,即循环次数,通过索引,可以获取当前循环是第几次。 如果读者阅读过官方文档,会见到如下获取索引的方式:data:1 {2 names: ["Maradona","Pele","Ronaldo","Mes... 阅读全文
posted @ 2014-10-31 01:16 杨元 阅读(10495) 评论(0) 推荐(0) 编辑
摘要:JsRender 作为一款JavaScript模版引擎,必不可少的会有循环功能,也就是for,但由于JsRender过于灵活,for竟然可以接受object作为循环对象。 {{for Array}}和{{for Object}}都是允许的,{{for Array}}大家都能理解,就是遍历一个数... 阅读全文
posted @ 2014-10-31 01:02 杨元 阅读(2993) 评论(0) 推荐(0) 编辑
摘要:由于公司需要,小菜最近在搞app web开发,目前只有ios和android版本,虽然仅此两个版本,但是依然要考虑浏览器兼容性问题,因为android和ios默认浏览器内核是不一样的。 先说说兼容性问题是什么。假如有这样一个URL:http://www.kpdown.com/search?na... 阅读全文
posted @ 2014-09-18 19:58 杨元 阅读(68561) 评论(0) 推荐(1) 编辑
摘要:前言 JsRender是一款基于jQuery的JavaScript模版引擎,它具有如下特点: · 简单直观 · 功能强大 · 可扩展的 · 快如闪电 这些特性看起来很厉害,但几乎每个模版引擎,都会这么宣传。。。 由于工作需要,小菜才接触到此款模版引擎。使用了一段时... 阅读全文
posted @ 2014-09-16 18:24 杨元 阅读(13549) 评论(2) 推荐(1) 编辑
摘要:前言 总结一下最近接触到的JavaScript语法糖,与大家共享。 每块糖都有详细的说明和示例,就不多说了。准确的类型检查 1 /* 2 * @function: 3 * 类型检查示例 4 * 通过此方法,可以检查某个变量是否为期望的数据类型 5 * @params: 6 * obj... 阅读全文
posted @ 2014-09-12 17:06 杨元 阅读(833) 评论(0) 推荐(1) 编辑
摘要:小菜使用Spring有几个月了,但是对于它的内部原理,却是一头雾水,这次借着工作中遇到的一个小问题,来总结一下Spring。 Spring依赖注入的思想,就是把对象交由Spring容器管理,使用者只需声明什么时候需要对象 ,这个可以说是常识,在这就不多说啦。 小菜的项目中,为了提高代码运行效率,需要在类实例化的时候初始化一个列表,避免重复查询,于是小菜想当然的写了如下代码: 1 @Component 2 public class ApplyStatusHandler{ 3 @Autowired 4 private DictMgr dictMgr; 5 @Autowired 6 ... 阅读全文
posted @ 2013-10-30 19:14 杨元 阅读(8512) 评论(0) 推荐(2) 编辑