Java
文章平均质量分 78
摆码王子
这个作者很懒,什么都没留下…
展开
-
GridLayout + Animation 实现 Android 仿超级课程表“发现”全屏宫格图标弹出动画
宫格布局在如今众多Android App中其实应用很广泛,但是全屏只有宫格图标的设计不免使用户觉得比较死板,不妨给宫格图标加上缩放动画效果,给用户更友好的体验。原创 2017-06-15 22:14:53 · 1914 阅读 · 0 评论 -
程序员你为什么这么累?
大家一提到程序员,首先想到的是以下标签:苦逼,加班,熬夜通宵。但是,但凡工作了的同学都知道,其实大部分程序员做的事情都很简单,代码CRUD可以说毫无技术含量,就算什么不懂依葫芦画瓢很多功能也能勉强做出来,做个多线程并发就算高科技了,程序员这行的门槛其实还是比较低的。(这里说的是大部分,有些牛逼的,写算法、jvm等的请自动跳过)是不是觉得很矛盾,一方面工作不复杂,一方面却累成狗。有没有想过问转载 2017-11-19 11:54:31 · 234 阅读 · 0 评论 -
用实例带你提前了解 Java 9 中的新特性
Java 作为 Android 的基础编程语言,每一次迭代也是备受安卓开发人员的关注。这不,Oracle 公司在今年即将发布 Java 9 正式版,一些新的特性和改进很是值得期待。周末时间,拜读了国外的一个 Java 大牛写的有关 Java SE 9 的新功能介绍,简明扼要,示例得当。于是,一时兴起,以拙劣的英语水平磕磕绊绊翻译至此,供大家了解一番。作者:「Rambabu Posa转载 2017-11-19 11:59:58 · 444 阅读 · 0 评论 -
看透 Spring MVC 源代码分析与实践 —— Spring MVC 组件分析
由于星期一接到面试通知,和面试官约好了星期四面试,所以这几天没更新完这系列的文章,面完试后立马就把这个解决掉。通过这次面试,也让我懂得了很多,知道了自己的一些不足之处,后面还要继续下功夫好好的深入复习下去。这几篇文章写的我觉得还是不够仔细,感兴趣的还是建议自己去看看源码。第 11 章 —— 组件概览HandlerMapping根据 request 找到对应的处理器 Ha转载 2017-11-19 12:05:07 · 302 阅读 · 0 评论 -
设计模式实践系列 (2) - 组合模式 ( Composite )
用途将对象组合成树形结构以表示 “部分——整体” 的层次结构。 Composite使得用户对单个对象和组合对象的使用具有一致性原创 2017-11-19 20:56:16 · 246 阅读 · 0 评论 -
设计模式实践系列(1) - 单例模式(Singleton)
用途 保证一个类仅有一个实例, 并提供一个访问它的全局访问点。让类自身负责保存它的唯一实例。 这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求 ), 并且它可以提供一个访问该实例的方法实例 在一部电影中,导演的作用是至关重要的,通常一部电影只有一个总导演。在电影的拍摄过程中,可能会设计多个片场,导演需要对不同的演员进行分别指导,但所有演员导演都是同一个人,“把导演叫过来” 这原创 2017-11-16 21:12:35 · 300 阅读 · 0 评论 -
深入理解 Java中 的 final 关键字
Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Java中是一个保留的关键字,可转载 2017-11-21 12:21:01 · 196 阅读 · 0 评论 -
10 个有关 String 的面试问题
下面是面试中最容易问到的有关String的问题。1. 如何比较两个字符串?使用“==”还是equals()方法?简单来讲,“==”测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相等。除非你想检查的是两个字符串是否是同一个对象,否则你应该使用equals()来比较字符串。如果你知道interning的概念的话,那就更好了。2. 为什么针对安全保密高的信息转载 2017-11-24 17:39:45 · 187 阅读 · 0 评论 -
Java 反射教程
什么是反射?反射有什么用处?1. 什么是反射?“反射(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为。”这个概念常常会和内省(Introspection)混淆,以下是这两个术语在Wikipedia中的解释:内省用于在运行时检测某个对象的类型和其包含的属性;反射用于在运行时检测和修改某个对象的结构及其行为。从它们的定义可以看出,内省是反射的一个子集。有些语转载 2017-11-24 17:43:43 · 216 阅读 · 0 评论 -
设计模式实践系列 (3) - 装饰模式 ( Decorator )
装饰模式 ( Decorator )用途用于动态地给一个对象添加一些额外的职责。 就增加功能来说, Decorator模式相比生成子类更为灵活。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。纯粹的装饰模式很难找到,大多数的装饰模式的实现都是“半透明”的,而不是完全透明的。换言之,允许装饰模式改变接口,增加新的方法。半透明的装饰模式是介于装饰模式和适配器模式之间的。适配器模式的原创 2017-11-21 13:37:42 · 188 阅读 · 0 评论 -
Spring 应用中集成 Apache Shiro
这一篇文章涵盖了将 Shiro 集成到基于 Spring 的应用程序的方法翻译 2018-02-17 09:54:48 · 396 阅读 · 0 评论 -
基于 Spring Boot 的个人博客 FS-Blog
在线 Demo:http://fsblog.letec.topGithub 地址:https://github.com/jameszbl/fs-blog1. 涉及技术及工具核心框架:SpringBootORM 框架:MyBatisMyBatis 工具:MyBatis MapperMVC 框架:Spring MVC模板引擎:Freemarker编译辅助插件:Lombok...原创 2018-03-27 15:45:46 · 8460 阅读 · 2 评论 -
Spring MVC 中 @ModelAttribute 注解的妙用
Spring MVC 提供的这种基于注释的编程模型,极大的简化了 web 应用的开发。其中 @Controller 和 @RestController 注解的组件使用 @RequestMapping、 @ExceptionHandler 等注解来表示请求映射,请求输入,异常处理等,使得开发者能专注于业务逻辑的编写,提高了开发效率。 带注释的控制器具有灵活的方法签名,不必扩展基类,也不需要实现特定的...原创 2018-03-31 14:14:26 · 1855 阅读 · 0 评论 -
Spring MVC 整合 Shiro 权限控制
Apache Shiro 是一个功能强大且灵活的开放源代码安全框架,可以细粒度地处理认证 (Authentication),授权 (Authorization),会话 (Session) 管理和加密 (cryptography) 等企业级应用中常见的安全控制流程。原创 2018-03-31 21:55:42 · 7257 阅读 · 0 评论 -
Ubuntu Linux 中虚拟主机的配置 - 搭配 Nginx
虚拟主机,正如其名,就是将一台服务器划分为多个虚拟的主机,可以将每个域名分配给不同的虚拟主机,这样可以充分利用了域名资源和硬件资源。这次我们采用 Nginx 实现虚拟主机的配置。Nginx 是一款 free、开源的高性能 HTTP 服务器和反向代理服务器,同时可用作 IMAP、POP3、SMTP 服务器,它经常被用作 HTTP 服务器进行 Web 应用的部署使用,另外,Nginx 还经常以反向代理服原创 2018-04-16 12:54:09 · 303 阅读 · 0 评论 -
Java I/O 操作总结
Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序转载 2017-11-19 11:51:06 · 185 阅读 · 0 评论 -
Java 异常处理的误区和经验总结
本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳。只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验,提高产品的价值。误区一、异常的选择图 1. 异常分类图 1 描述了异常的结构,其实我们都知道异常分检测异常和非检测异常,但是在实际中又混淆了这两种异常的应用。由于非检测异常转载 2017-11-19 11:48:10 · 194 阅读 · 0 评论 -
一张图读懂 Java 多线程
1、带着疑问看图1)竞争对象的锁和竞争CPU资源以及竞争被唤醒2)何种情况下获取到了锁,何种情况下会释放锁2、还是那张图3、详细图解1)Thread t = new Thread(),初始化一个线程,实际上就是一个普通对象,此时他的状态为New2)t.start(); 线程处于就绪状态(可运行状态),也就是随时等待着运行, 不要小看这个start,这个start决定了他是否是一个真正的线程实例,因为转载 2017-11-19 11:25:16 · 375 阅读 · 0 评论 -
如何在 IntelliJ IDEA 中的 Gradle 项目上使用 Mybatis Generator 自动生成代码
由于在 IntelliJ IDEA 中的 Gradle 项目无法直接使用著名的 MybatisGenerator 插件,所以要间接的通过一个 Ant Task 来生成环境添加依赖这里主要用到了 Mybat原创 2017-10-22 20:34:49 · 7029 阅读 · 5 评论 -
IDEA下利用Live Template编写注释模版
注释模版注释模版是指在编写代码时针对不同的类,方法或者其他文件时自动生成的注释信息。在eclipse我们很熟悉可以利用 /**,Enter在方法,类名等前一行来生成注释模板,但是IntelliJ IDEA并没有去按照原来的方法去实现。他引进了Live Template来达到类似效果。转载 2017-11-18 11:37:07 · 5075 阅读 · 0 评论 -
一位10年 Java 工作经验的架构师聊 Java 和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师。对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式。国内开源软件推动者之一,Smart Framework 开源框架创始人。热爱技术交流,乐于分享自己的工作经验。著有《架构探险——从零开始写Java Web框架》一书。我的十年技术之路和大家介绍下我目前所从事的工作。我目前从事分转载 2017-11-17 22:14:41 · 841 阅读 · 0 评论 -
JVM类加载机制详解
引言 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。转载 2017-11-18 12:31:24 · 137 阅读 · 0 评论 -
一位资深程序员大牛给予Java初学者的学习路线建议
今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学转载 2017-11-18 13:00:30 · 118 阅读 · 0 评论 -
2017年Java面试题整理
面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2016年面试题,让大家在找工作时候能够事半功倍转载 2017-11-18 12:39:25 · 772 阅读 · 1 评论 -
35 个 Java 代码性能优化总结
代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以...转载 2017-11-18 13:10:37 · 141 阅读 · 0 评论 -
理解 Java 序列化
序列化作用注意事项Java 序列化的缺点举例说明项目中曾遇到的一个小问题参考序列化定义:将一个对象编码成一个字节流,称作将该对象序列化,反之,将字节流重新构建成对象,则称作反序列化。序列化作用序列化将对象编码成字节流,主要用于对象的持久化,远程通信,跨进程访问等地方。比如开发中常用到的 ORM 框架 Mybatis,或者 JP转载 2017-11-18 13:46:18 · 220 阅读 · 0 评论 -
Java 构造器注意事项
构造器决不能调用可被覆盖的方法,并简单理解声明类型和实际类型。超类的构造器在子类的构造器运行之前运行,也就是说,在创建对象时,先运行超类中的构造器,然后再运行子类中的构造器,此时,如果在执行超类构造器的时候,构造器执行了可覆盖的方法,那么就会去调用子类中的该方法,而此时子类还未被实例化,此时就有可能出问题。以一个例子说明:public class Super {转载 2017-11-18 13:53:09 · 271 阅读 · 0 评论 -
Java 中的闭包之争
闭包一直都是Java社区中争论不断的话题,很多语言例如JavaScript,Ruby,Python等都支持闭包这个语言特性,闭包功能强大且灵活,Java并没有显式地支持它,但其实Java中也存在着所谓的”闭包”.本文作者为: SylvanasSun.转载请务必将下面这段话置于文章开头处(保留超链接).本文转发自SylvanasSun Blog,原文链接: https:/转载 2017-11-18 13:58:50 · 263 阅读 · 0 评论 -
Java 的深拷贝和浅拷贝
基本知识Java在运行时的内存使用分两块:栈内存与堆内存。只就变量而言,栈内存上分配一些基本类型的变量(如int、boolean)与对象的引用,而堆内存分配给真正的对象本身以及数组等,堆内存上的数据由栈内存上的相应变量引用,相当于栈中存储着堆内存中实际对象或数组的标记或别名(实际上是堆内存变量首地址)。什么是拷贝将对象复制出一份的行为称为对象的拷贝。一般来说转载 2017-11-18 14:00:47 · 207 阅读 · 0 评论 -
Java 实现数据结构——树
文章目录`一 树的概念与应用场景1.1 二叉查找树1.2 AVL树1.3 红黑树1.4 B树二 树的操作与源码实现2.1 TreeMap/TreeSet实现原理更多文章:https://github.com/guoxiaoxing/data-structure-and-algorithm/blob/master/README.md转载 2017-11-18 14:03:16 · 241 阅读 · 0 评论 -
Spring 基础知识汇总
Spring简介Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。Spring总结起来优点如下低侵入式设计,代码的污染极低独立于各种应用服务器,基于Spring框架的应用,可以转载 2017-11-19 11:37:56 · 148 阅读 · 0 评论 -
Java 集合框架面试问题集锦
Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题。很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性。下面是面试Java核心技术的一些很实用的问题。Q:最常见的数据结构有哪些,在哪些场景下应用它们?A. 大部分人都会遗漏树和图这两种数据结构。树和图都是很有用的数据结构。如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核。转载 2017-11-19 11:33:52 · 403 阅读 · 0 评论 -
基于 Spring Boot 2.0 构建一个 RESTful WebService
REST 全称是 Representational State Transfer,中文意思是“表述性状态转移”。RESTful 是关于 Web 的现有特征和使用方式的一些准则和约束。 基于 Spring MVC 的 RestController,我们可以方便的构建一个 RESTful 风格的应用原创 2018-04-17 21:22:04 · 2036 阅读 · 1 评论