- Java 中可作为 GC Roots 的对象有哪几种?
码炫课堂-码哥
java面试题jvm面试
作者简介:大家好,我是码炫码哥,前中兴通讯、美团架构师,现任某互联网公司CTO,兼职码炫课堂主讲源码系列专题代表作:《jdk源码&多线程&高并发》,《深入tomcat源码解析》,《深入netty源码解析》,《深入dubbo源码解析》,《深入springboot源码解析》,《深入spring源码解析》,《深入redis源码解析》等联系qq:184480602,加我进群,大家一起学习,一起进步,一起对
- 享元模式 Flyweight
JackXiang2019
设计模式享元模式
1.模式定义:运用共享技术有效地支持大量细粒度的对象优点:如果系统有大量类似的对象,可以节省大量的内存及CPU资源JDK源码中的应用String,Integer,Long...com.sun.org.apache.bcel.internal.generic.InstructionConstants
- JDK源码阅读 0826 - 抽象集合
学习吧朱小宁
我们经常在代码中使用到List、Set、Map,也粗略看过一些实现类的源码解析。现在去看下抽象类集合中的方法与具体实现类有哪些不同。publicabstractclassAbstractSetextendsAbstractCollectionimplementsSetpublicabstractclassAbstractListextendsAbstractCollectionimplements
- JDK源码-0909HashMap
学习吧朱小宁
终于还是到了这个神奇的HashMap,面试问了一遍又一遍,看了一次又一次,写一哈,看看能发现多少好玩的东西。HashMap出现总是与HashTable一起,于是源码开篇介绍的就有两者的区别HashMap是哈希表的实现,基本是等效于HashTable的,但是hashmap是不同步的,且支持null值与nullKey.hashmap无法保证map的顺序,特别是,它不能保证顺序会随着时间的推移保持恒定。
- JDK源码阅读之Map
GeorgeDon
Map接口Map是用来取代较早版本的Dictionary的,如上图接口中定义了一些对Map的常规操作,下面介绍阅读代码比较有意思的几个地方:1.如果没有默认值,就返回设置的defalutvaluedefaultVgetOrDefault(Objectkey,VdefaultValue){Vv;return(((v=get(key))!=null)||containsKey(key))?v:defa
- Java是如何实现自己的SPI机制的?
tyrroo
注:该源码分析对应JDK版本为1.81引言这是【源码笔记】的JDK源码解读的第一篇文章,本篇我们来探究Java的SPI机制的相关源码。2什么是SPI机制那么,什么是SPI机制呢?SPI是ServiceProviderInterface的简称,即服务提供者接口的意思。根据字面意思我们可能还有点困惑,SPI说白了就是一种扩展机制,我们在相应配置文件中定义好某个接口的实现类,然后再根据这个接口去这个配置
- 【23种设计模式·全精解析 | 结构型模式篇】7种结构型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
蓝染-惣右介
设计模式设计模式java软件工程uml
文章目录结构型模式1、代理模式(1)概述(2)结构(3)静态代理(4)JDK动态代理(5)CGLIB动态代理(6)三种代理的对比(7)优缺点(8)使用场景2、适配器模式(1)概述(2)结构(3)类适配器模式(4)对象适配器模式(5)应用场景(6)JDK源码解析3、装饰者模式(1)概述(2)结构(3)案例(4)使用场景(5)JDK源码解析(6)静态代理和装饰者的区别4、桥接模式(1)概述(2)结构(
- 只分享这一次!阿里软件架构师深入底层手写JDK源码
程序员阿远
通过和大厂的面试官聊了一下发现,现在大厂特别爱考底层的一些原理,因为一些底层是不涉及到语言的,语言对于开发工程师来说是是吃饭的工具,但对于架构师的层面的人来说就工具而已,这也是大厂培养人的一个方向。领取相关资料可看我主页简介或加v:yxqbkd那么阅读源码究竟有哪些好处呢?1、了解思想程序员大部分开发中都是些增删查改,过滤业务的逻辑。比如一个需求我们用了几十行代码写了。感觉没问题,但是别人可能用几
- 阿里巴巴Java开发手册解析_编程规约-集合处理
芒果-橙
后端java开发手册编程规约集合
前言《阿里巴巴Java开发手册(黄山版)》编程规约-集合处理该章节的知识点基本都来源于jdk源码,将结合源码及例子进行理解备注:文章中的详细及说明为手册本身内容博客地址:芒果橙的个人博客【http://mangocheng.com】文章目录前言1.【强制】关于hashCode和equals的处理2.【强制】判断所有集合内部的元素是否为空,使用isEmpty()方法,而不是size()==0的方式。
- IDEA搭建JDK源码学习环境(可添加注释、修改、debug)
wen-pan
好用的工具或插件原理/源码项目环境搭建javaintellij-idea学习
工程详见:https://github.com/wenpanwenpan/study-source-jdk1.8.0_2811、找到src.zip和javafx-src.zip找到你想要调试的JDK,笔者本地电脑上装了两个版本的JDK,这里以jdk1.8.0_281为例将JDK目录下的javafx-src.zip和src.zip两个压缩包进行拷贝(这里就是源码)2、新建目录并解压压缩包新建一个目录
- Ubuntu18编译jdk8源码
东心十
jdk源码
环境系统ubuntu18Linuxubuntu5.4.0-150-generic#167~18.04.1-UbuntuSMPWedMay2400:51:42UTC2023x86_64x86_64x86_64GNU/Linuxjdk源码openjdk-8u41-src-b04-14_jan_2020.zipbootJdkjdk-8u391-linux-x64.tar.gzps-e|grepsshsu
- OpenJDK源码包说明
猿星人的简致生活
openjdk——corba:不流行的多语言、分布式通讯接口——hotspot:Java虚拟机——jaxp:XML处理——jaxws:一组XMLwebservices的JavaAPI——jdk:java开发工具包————针对操作系统的部分————share:与平台无关的实现——langtools:Java语言工具——nashorn:JVM上的JavaScript运行时其中Hotspot就是我们要看
- 【面试深度解析】滴滴Java后端一面:JDK源码、RocketMQ分布式事务、布隆过滤器
11来了
面试深度解析面试java滴滴面试RocketMQ布隆过滤器JDK源码HashMap
欢迎关注公众号(通过文章导读关注:【11来了】),及时收到AI前沿项目工具及新技术的推送!在我后台回复「资料」可领取编程高频电子书!在我后台回复「面试」可领取硬核面试笔记!文章导读地址:点击查看文章导读!感谢你的关注!前言:春招季即将来临,你准备好迎接挑战了吗?【30天面试冲刺计划】——专为大厂面试量身定制!跟随学习,一起解锁面试新高度!文章目录滴滴后端一面分析:题目分析1、ArrayList和L
- Java 并发编程的艺术 pdf 下载
Java全栈布道师
java并发编程
并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中最核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编
- jdk源码:Integer.numberOfLeadingZeros
没有故事的老大爷
1.源码publicstaticintnumberOfLeadingZeros(inti){if(i==0)return32;intn=1;if(i>>>16==0){n+=16;i>>24==0){n+=8;i>>28==0){n+=4;i>>30==0){n+=2;i>>31;returnn;}2.方法功能Returnsthenumberofzerobitsprecedingthehighes
- 【jdk包系列】jdk源码包 java.lang详解
BigDataMLApplication
javajdk源码java开发语言
jdk源码包java.lang详解文章目录jdk源码包java.lang详解包java.lang描述接口概览类概览枚举概览异常概览错误概览注解类型概览官方链接包java.lang描述提供了对Java编程语言设计至关重要的类。最重要的类是Object,它是类层次结构的根,以及Class,在运行时表示类的实例。通常需要将原始类型的值表示为对象。包装类Boolean、Character、Integer、
- 六、JDK自带观察者
城市里永远的学习者
利用Java提供的Observer接口和Observable类实现观察者模式对于观察者模式,其实Java已经为我们提供了已有的接口和类。对于订阅者(Subscribe,观察者)Java为我们提供了一个接口,JDK源码如下:1packagejava.util;23publicinterfaceObserver{4voidupdate(Observableo,Objectarg);5}和我们上一篇实现
- openjdk源码了解
chenxuezhou
javajdk
openjdk给出debug配置选项,common/autoconf/jdk-options.m4AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],[#################################################################################Setthedebuglevel#release:nod
- 2. 注册 Driver
吃光一座城
源码补全计划之JDBCjdbcmysql
本文有三个点:运用SPI机制Java类加载机制之JDBC打破双亲委派Driver的注册SPI机制加载rt.Driver的实现类Jdk源码包的rt.jar定义接口Driver第三方jar包实现接口,同时为了可以被SPI机制发现(在META-INF/services文件中,以接口的全限定名来命名文件名,文件里面写该接口的实现)。SPI机制将所有第三方jar包实现类加载到Jvm中开发人员根据自己的逻辑合
- 在Windows平台编译OpenJdk8
IT回忆录
JavaWindowswindows
学习了一段时间OpenJdk源码后,需要实践来验证自己对jvm各个组件运作机制的理解是否正确,这需要通过调试jvm来实现,而在windows平台编译openjdk是比较繁琐的,这其中遇到了一些坑,记录下build的过程以备不时之需。前期准备Cygwin64安装cygwin后需要安装以下工具(编译jdk时make或jdkboott会调用)ar、make、m4、cpio、gawk、file、zip、u
- 今天去阿里面试,一个HashMap,我就和面试题整整说了一小时!
辻老板
前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。HashMap是Java最长用的集合之一,在JDK源码中,HashMap的设计非常Elegant,也包含很多非常巧妙的设计思路,之所以这样,也让HashMap成为了面试招工作时候的重点考点。开场面试官:你先自我介绍一下吧!安琪拉:我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不
- 实战剖析JDK源码 最新出炉!阿里P8纯手码Java并发编程核心原理笔记
架构师谢俞
并发编程并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java中,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果遇到复杂的多线程编程场景,大多数情况下我们就需要站在巨人的肩膀上利用并发编程框架——JDKConcurrent包来解决相关线程问题。Concurrent包很复杂吗?相信很多人对于Concu
- 谈谈红黑树
zorkelvll
imageZERO持续更新请关注:https://zorkelvll.cn/blogs/zorkelvll/articles/2019/01/17/1547726391242一、背景不管是在阅读jdk源码的过程中,还是数据结构的课程学习过程中,亦或是在程序员的面试过程中,红黑树问题都是十分常见的考察数据结构功底的一个典型问题,因此决定一探究竟!二、二叉查找树BST1、定义左子树上所有结点的值均小于
- Java jdk源码 0814 基本数据类型
学习吧朱小宁
时隔多月,我又开始看jdk源码了。上次看完了String类型,现在去看下基本数据类型。8种数据类型分别为整型byteshortintlong浮点型doublefloat逻辑型boolean字符型charstaticbooleanbool;staticbyteby;staticcharch;staticdoubled;staticfloatf;staticinti;staticlongl;stati
- 设计模式之迭代器模式【行为型模式】
哥的时代
软件设计模式设计模式迭代器模式java软件工程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档>学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:想系统/深入学习某技术知识点…一个人摸索学习很难坚持,想组团高效学习…想写博客但无从下手,急需写作干货注入能量…热爱写作,愿意让自己成为更好的人…文章目录前言一、概述二、结构三、案例实现四、优缺点五、使用场景六、JDK源码解析总结前言
- 设计模式之命令模式【行为型模式】
哥的时代
软件设计模式设计模式命令模式软件工程java
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档>学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:想系统/深入学习某技术知识点…一个人摸索学习很难坚持,想组团高效学习…想写博客但无从下手,急需写作干货注入能量…热爱写作,愿意让自己成为更好的人…文章目录前言一、概述二、结构三、案例实现四、优缺点五、使用场景六、JDK源码解析总结前言
- JDK源码 - 0903 LinkedList
学习吧朱小宁
List实现分为两种1.数组实现空间连续,查询较快2.链表实现插入删除较快遍历较慢LinkedList.pngLinkedList为List与Deque接口的【双链表】实现,允许所有元素插入包括null.当前实现类也是存在快速失败的机制且部分方法未进行同步实现,需要人为外部同步,或进行加锁同步。AbstractSequentialList是提供【顺序访问】的接口,其中包含着常用的操作方法,Abst
- 从JDK源码级别剖析JVM类加载器
Myname_China
jvmjavajvm
欢迎大家关注我的微信公众号:类加载运行全过程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。packagecom.tuling.jvm;publicclassMath{publicstaticfinalintinitData=666;publicstaticUseruser=newUser();publicintcompute(){//一个方法对应一
- B02 迭代器模式 JDK源码分析
乌鲁木齐001号程序员
java.util.ArrayListItr作为具体的Iterator以内部类的方式实现在ArrayList中,使其可以访问ArrayList中维护的数组elementData;ArrayList又是java.util.Collection的具体实现,迭代器模式中的角色都体现到了;publicclassArrayListextendsAbstractListimplementsList,Rando
- 设计模式之模板方法模式【行为型模式】
哥的时代
软件设计模式设计模式模板方法模式软件工程java
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档>学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:想系统/深入学习某技术知识点…一个人摸索学习很难坚持,想组团高效学习…想写博客但无从下手,急需写作干货注入能量…热爱写作,愿意让自己成为更好的人…文章目录前言一、概述二、结构三、案例实现四、优缺点五、适用场景六、JDK源码解析总结前言
- Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
- escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScriptWeb
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
- ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据对地图的放大、缩小和平移Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
- Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
- 旗正4.0页面跳转传值问题
何必如此
javajsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
- 全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发移动开发移动端开发移动互联程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
- Log4J通用配置|注意问题 笔记
7454103
DAOapachetomcatlog4jWeb
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
- SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sqlcwindowsSQL ServerXP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
- [置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
- document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
- 关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
- NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis数据库NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
- Tomcat 一些技巧
征客丶
javatomcatdos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
- 【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
- Haskell版冒泡排序
bookjovi
冒泡排序haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
- java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
- 读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
- SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
- JWFDv0.96 最新设计思路
comsci
数据结构算法工作企业应用公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
- vi 保存复制内容格式粘贴
daizj
vi粘贴复制保存原格式不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
- shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
- 高一上学期难记忆单词
dcj3sjt126com
wordenglish
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
- hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJOhibernate查询DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
- Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
- Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
- 关于推荐个人观点
liyonghui160com
推荐系统关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
- 不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
- 自定义annotation
sha1064616837
javaenumannotationreflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
- Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
- 利用word分词来计算文本相似度
yangshangchuan
wordword分词文本相似度余弦相似度简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =