- 博客(117)
- 资源 (1)
- 收藏
- 关注
转载 四道Java基础题 你能对几道?
原文链接是 http://blog.csdn.net/qq_35101189/article/details/53980381偶然看到的,工作了一段时间,对于很多基础知识其实疏漏了,看到这一篇觉得写的很好,所以转载过来。1 ==符的使用首先看一段比较有意思的代码Integer a = 1000,b=1000; Integer c = 100,d=100; public void mRu
2017-01-02 21:35:49 537
转载 java中关于try、catch、finally中的细节分析
下面看一个例子(例1),来讲解java里面中try、catch、finally的处理流程public class TryCatchFinally { @SuppressWarnings("finally") public static final String test() { String t = ""; try { t = "t
2016-12-31 17:53:13 339
原创 layer 实现弹窗提交信息
layer是非常好用的弹窗插件,具体参见官方文档 点击这里进入。官方有很多示例,使用方法也非常简单,引入官方下载的css和js就可以了。但是有时候,弹窗提醒并不能满足我们的所有要求。例如,在奖品界面,希望点击“编辑奖品”的时候,能弹出对话框让我们来填写信息,如下图所示:如何用简洁美观的 layer 实现这一功能呢?官方并没有给我们提供示例,那就自己动手写吧。下面把代码贴出来。给“添加奖品”按钮加上
2016-12-11 21:17:17 26821 1
原创 js 控制 button 切换
最近做公司的一个抽奖系统,频繁的用到了这个小功能,觉得还是很实用的,在这里把代码贴出来。事先声明,css用的是adminlte和bootstrap原生的,js里面还用到了layer弹窗,layer是非常方便好用的弹窗插件,会在以后的博客中有引申说明。1 单击改变按钮抽奖以前,后台的抽奖按钮应该是这个样子的开始之后,就要变成为什么要这么做呢?反正这个控制按钮不是观众能看到的,只有后台控制人员才能看到。
2016-12-11 20:37:11 7294
原创 Web项目配置图文教程 IDEA
使用Intellij Idea开发web项目,比方说从github或者公司的git库把项目clone下来之后,首先要在IDEA中对项目进行一大堆配置,才能正常启动。这个配置主要分为两类:Tomcat和Project Structure。本文中记录配置的图文过程(项目基于Dubbo框架)。1 Project Structure快捷键ctrl+alt+Shift+S,弹出Project Structur
2016-12-04 21:01:01 1432
转载 Java关键字final、static使用总结
转载来源: http://lavasoft.blog.51cto.com/62575/18771/1 final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,
2016-11-24 17:15:42 486
转载 从volatile说到i++的线程安全问题
转载来源: http://www.cnblogs.com/zemliu/p/3298685.htmlvolatile关键字保证了 1. 可见性——在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值。 2. 禁止指令重排序优化本文中来谈谈第一点,可见性。Thread的本地内存每个Thread都拥有自己的线程
2016-11-23 15:48:46 1780 3
转载 Java反射机制及Method.invoke详解
转载自 http://azrael6619.iteye.com/blog/429797JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个
2016-11-22 22:04:29 550
原创 Angular JS 使用技巧
最近用Angular JS做为前端框架,本文记录一些使用过程中的技巧,只做用法的描述,不做过多原理上的讨论。1 多个ng-app-idAngular JS规定,一个页面中只能引入一个ng-app,这样比较不利于多人协作开发,有什么解决办法呢?就是引入ng-app-id。具体做法是,假设你要写一个article.js用来操作文章,就在该js最开始的地方加入下面一段代码angular.element(d
2016-11-22 15:08:29 492
原创 比喻帮你深入理解 JAVA 对象
说明:本文中的JVM限于HotSpot JVM,详细介绍了,对象在哪里创建、创建的步骤是什么、创建之后的对象长什么样、以及想要使用该对象的时候如何访问。如有转载,请标明出处。1 对象在哪里创建Java 是面向对象的编程语言,那么,对象到底是在哪里创建的呢?首先明确一点,几乎所有的对象实例和数组都在堆中分配。这里需要了解 JVM 内存的划分,详见个人另一篇博客JVM 内存划分、GC 机制与性能优化看上
2016-11-06 17:26:09 1160
原创 webstorm 下载并设置jade、less
和Intellij出自同一个公司。jetbrains的产品总是备受期待。现在做的项目需要把之前的html等改为jade开发,这里记录一下开始的设置过程。如果之前已有项目,现在只是改为webstorm开发的话,想要导入项目不要选open,因为可能提示你找不到 iml 文件。一般项目的module的根目录才有iml,如果是module中的某个子文件夹用来存放jade、less等的话,无法直接用open打
2016-10-20 17:38:17 2762
转载 String.intern()
转载来源: http://www.cnblogs.com/wanlipeng/archive/2010/10/21/1857513.html 首先查看官方API那个的解释:———————————————————————————————————————internpublic String intern()返回字符串对象的规范化表示形式。一个初始时为空的字符串池,它由类 String 私有地维护。
2016-10-18 09:40:47 497
原创 twitter id生成算法snowflake详解
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。为了满足T
2016-10-09 14:54:03 7828 5
原创 CopyOnWrite代码及使用场景
CopyOnWrite 的核心思想是利用读写分离,因为高并发往往是读多写少。进行读操作的时候,不加锁以保证性能;对写操作则要加锁,先复制一份新的集合,在新的集合上面修改,然后将新集合赋值给旧的引用,并通过volatile 保证其可见性。我们所知道的CopyOnWriteArrayList就实现了这样的设计思想,下面是CopyOnWriteArrayList的一些核心方法的源代码,有助于理解其设计思想
2016-10-07 17:31:58 3090
原创 多叉树:判断某个子树是否属于某个父树,如果属于,从父树中删除子树
如果只想直接看算法的,可以跳到第3个标题;其他几个标题的内容作为背景铺垫,介绍为什么要写这个算法,以及可以解决什么实际问题,解决之后的效果如何。因为如果不联系实际,一些人会认为树之类的数据结构没什么用武之地,太抽象。结合其他几个标题的内容可以帮助理解。1 问题背景分析最近在公司做一个知识库分享平台的用户权限的后台功能,大概是这样的: 权限分为很多级,如下图所示:当然所有权限不止这些,分类下面还有软
2016-09-29 19:15:19 2663
转载 ReentrantLock使用场景和实例
转载来源:https://my.oschina.net/noahxiao/blog/101558从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。可重入概念 若一个程序或子程序可以“安全的被并行执行(Parallel computing)”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正在运行时,可以再次进入并执行它(并行执行时,个别
2016-09-25 20:35:46 20804 5
原创 文件压缩并提取成流上传到Ambry,并且定时删除压缩包
这个是最近写的小模块,主要功能是:前端点击“上传”按钮,将文件压缩到指定目录,然后再把压缩后的zip文件转成流上传到Ambry(Lindedin)使用的分布式文件存储服务。压缩后的zip文件存储在指定目录中,每天会定时清空该文件夹。定时删除方面用到了cron4j,quartz有点重,这里的定时功能用cron4j就完全可以实现。在maven中添加如下依赖: <dependency> <
2016-09-23 14:57:37 1310 1
原创 团队合作开发git冲突解决方案 Intellij IDEA
一般在团队合作开发一个项目的过程中,经常出现两个人同时修改一个文件然后都向主master提交commit,这样就会产生冲突(conflict),那么这种情况如何解决?1 新建分支如果项目的主分支是master,自己从主分支fork下来的就是属于自己的master分支,该分支是默认被主分支的master同步的。首先要在自己的远程仓库中新建一个分支(我们这里取名为work),以后自己通过git提交修改时
2016-09-13 12:39:31 23590
原创 正则表达式快速入门
正则表达式,英文名 regular expression,缩写为regex,用来检索、替换符合某个模式(规则)的文本。例如,我们想在1000行的文档中不区分大小写的快速定位所有Web和web,可能几行代码才能完成的任务交给正则表达式,一行就可以完成。但是有一点要提前声明:正则表达式只是工具,要依托于具体的编程语言实现。正则表达式看似复杂,实际上由两个基本元素组成元字符(特殊字符)+文字(普通字符)其
2016-09-11 19:33:36 479
原创 部署tomcat暴露html格式日志,并定期清理日志
这个系列共三篇文章: 图文实例:dubbo本地模拟RPC 图文实例:用maven打包dubbo项目并部署到云平台 图文实例:部署tomcat暴露html格式日志,并定期清理日志这三篇博客的目的主要是通过一个小的实例来本地模拟dubbo PRC,并用maven打包部署到云平台上。部署成功之后,用tomcat静态资源服务器将日志通过html形式暴露并做定期清理。经过这个过程,可以对dubbo的使
2016-09-02 18:07:22 1963
原创 用maven打包dubbo项目并部署到云平台
这篇博客的目的主要是通过一个小的实例来本地模拟dubbo PRC,并用maven打包部署到云平台上。经过这个过程,可以对dubbo的使用和生产中的部署有更加深入的理解。文中记录了需要的所有代码和详细的过程截图,就算第一次接触dubbo的初学者也可以跟着一步一步做出来。4 Server打包将Server服务器部署到云平台,首先要把Server打包。Maven给我们提供了非常简便的方式。在打包之前需要先
2016-09-01 16:33:21 7620 5
原创 dubbo本地模拟RPC
这个系列共三篇文章: 图文实例:dubbo本地模拟RPC 图文实例:用maven打包dubbo项目并部署到云平台 图文实例:部署tomcat暴露html格式日志,并定期清理日志这三篇博客的目的主要是通过一个小的实例来本地模拟dubbo PRC,并用maven打包部署到云平台上。部署成功之后,用tomcat静态资源服务器将日志通过html形式暴露并做定期清理。经过这个过程,可以对dubbo的使
2016-09-01 16:31:55 1731
原创 实用的 html 前端组件源代码总结
这次被拉过去临时做前端,遇到了一些不错的常用组件,在这篇博客中整理一下,会持续更新。(提前声明,本文中所有的例子都引入了bootstrap框架)1 图片铺满整个网页背景这次我帮忙做的页面没有复杂的组件,做完之后觉得整个网页光秃秃的,后来就想加入虚化的城市图片作为网页背景,效果如下:背景的填充实现代码如下:<body background="img\city_bg.jpg"style=" backg
2016-08-16 09:45:08 3314
原创 BootStrap+Hbuilder 实例
之前做的项目主要是后端的,这次被拉过去帮忙做两个简单的前端页面。学习过程中使用了BootStrap和Hbuilder,感觉是非常好的工具,这里记录一下自己试验的实例。1 BootStrap的优点BootStrap是现在最受欢迎的前端框架,对css、js等进行了封装。优点先列在这里,后面使用的过程中会慢慢体会到BootStrap的好处。受欢迎,社区里面有大量的开发者,随时能帮助你解决很多问题;做出
2016-08-12 10:37:51 34802 7
原创 认识NIO
1 NIO的优势NIO,也就是所谓的non-blocking I/O,翻译成中文就是非阻塞I/O。在电商、大数据、游戏、金融等高负载、高并发的领域,传统的阻塞式I/O(BIO)越来越不能满足人们的日常使用需求,最显著的特点就是处理性能差,这已经不是业务逻辑层面可以解决的问题。每次客户端请求发过来之后,服务器都要创建线程去处理;并且如果没有东西可读/写的时候,程序就进入等待状态,直到有东西可读/写为止
2016-08-05 09:52:19 490
原创 “服务主机本地系统占用高内存”,“已禁用IME”和“win8.1 wifi经常掉线”的解决方法
最近老是遇到这两个问题,但是不准备重装系统了,毕竟安的软件太多,这里记录一下行之有效的解决办法,后续遇到新的问题会继续补充1服务主机本地系统(网络受限)占用高内存有时候正常使用电脑,会听到风扇不停的转,散热口温度升高,打开任务管理器一看,一个叫做“服务主机本地系统(网络受限)”的占用了将近20%的内存。如果用任务管理器杀掉这个进程,过一会儿又会自动重启,并且还导致输入法不可用(已禁用IME),这个的
2016-07-26 12:44:09 9352
转载 Intellij Idea 创建Web项目并部署servlet
在网上看到一篇很详细的 intelliJ IDEA 创建web项目的图文教程,并结合最新版本的Intellij Idea做出了一点修改,转载出处是 http://www.cnblogs.com/yangyquin/p/5285272.html1 创建一个web项目File -> New Project -> 输入项目名称“Demos” ,选择Project SDK为1.7 -> Next -> F
2016-07-01 12:53:59 45737 12
原创 Tomcat 下载、安装与配置
进行 JAVA web 开发,都要先安装tomcat,本文记录了Tomcat的下载、安装和配置,并在第三部分介绍了因为端口占用问题导致Tomcat无法正常启动的解决方法,以备日后使用。1 下载Tomcattomcat是免费的,从官网就可以下载http://tomcat.apache.org/,选择左侧 download——tomcat 8(8现在分为8.0.0和8.5.3,现在9版本还不太稳定)根据
2016-06-30 23:56:15 7093
原创 JAVA多线程(五)用lock、synchronized、阻塞队列三种方法实现生产者消费者模式
用乐观锁、悲观锁、阻塞队列三种方法实现生产者消费者模式
2016-05-25 17:35:30 6727 5
原创 JAVA多线程(二)竞态条件、死锁及同步机制
本文介绍了JAVA多线程常出现的安全问题(竞态条件、死锁),并介绍了解决方法(例如同步机制等)
2016-05-23 13:30:02 8885 5
原创 为什么新生代内存需要有两个Survivor区
堆内存分为新生代和老年代,其中新生代分为Eden和两块Survivor,本文探讨了为什么要设置两块Survivor区
2016-05-16 15:34:55 34813 76
原创 JVM GC 机制与性能优化
1 背景介绍与C/C++相比,JAVA并不要求我们去人为编写代码进行内存回收和垃圾清理。JAVA提供了垃圾回收器(garbage collector)来自动检测对象的作用域),可自动把不再被使用的存储空间释放掉,也就是说,GC机制可以有效地防止内存泄露以及内存溢出。JAVA 垃圾回收器的主要任务是:分配内存确保被引用对象的内存不被错误地回收回收不再被引用的对象的内存空间凡事...
2016-05-11 16:31:38 23574 4
maven-3.5.0
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人