![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA编程
DreamMakers
凡办大事,以识为主,以才为辅,凡成大事,人谋居半,天意居半。
展开
-
JAVA语言版之字体格式设置对话框的编程实现
在编写自己的记事本小程序时,为了给里面的文本设置格式,需要一个格式对话框来进行这方面的设置,但是,在JAVA中,并没有现成的字体格式设置对话框供我们使用,这时,我们就需要自己去设计一个对话框。接下来讲述一下自己的实现。首先发个截图看看我的对话框的效果是怎样的吧,如下所示:在上图中我们可以看到,整个字体设置对话框包含四个部分,分别为字体的选择,字形的选择,字体大小的设置以及字体样式的示例原创 2012-08-09 19:28:30 · 5157 阅读 · 1 评论 -
2016年排名Top 100的Java类库——在分析了47,251个依赖之后得出的结论
原文地址:http://www.importnew.com/19786.html我们分析了GitHub中47,251个依赖,从中找出了排名前一百的Java类库,让我们看看谁在前面,谁在后面。我们在漫长的周末的消遣方式就是浏览GitHub并且搜索流行的Java类库。我们决定把其中的乐趣与结果分享给你。我们分析了GitHub中排名前3,862个项目中的47,251个导入语句,其转载 2016-06-11 09:26:21 · 883 阅读 · 0 评论 -
2015最受欢迎的Java EE容器
原文地址:http://www.importnew.com/17763.html今年总结的数据基于 Plumbr 从2 月份到 3 月份监控的 758 个不同 JVM 实例。这些数据从 JVM 启动参数里得到。2015 年使用最多的 Java EE 容器是哪个?通过收集的 758 个不同的 JVM 运行实例数据,我们能确定 554 此容器厂商,占整个市场大概 73%:转载 2016-06-11 09:32:09 · 728 阅读 · 0 评论 -
模拟以Form表单方式发送Http请求
有的时候我们需要模拟实现以表单的方式提交一个请求,看看后台服务是否正常处理,这里我们简单实现并记录一下,看看怎么实现。废话不多说,直接贴出代码:package com.iflytek.ossp.vaserver.cmd;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;im原创 2017-07-29 17:50:40 · 9646 阅读 · 0 评论 -
字符串替换之正则替换
我想对于Java程序员而言,字符串替换肯定都是很熟悉的了,今天在工作中也遇到一个字符串替换的问题,可是一时之间竟然无从下手,顿时觉得基础没打好啊,这里记录一下,供需要的人学习一下。需求描述:有个字符串变量,如“2018年的春节是哪一天?”,然后需要判断这个字符串中是否有年份的数字,如果有,那么就在这个年份的前面加上一个特殊的字符串(如[n1][y1])。这样的需求该如何实现呢?经过了思原创 2017-07-24 22:41:12 · 11378 阅读 · 0 评论 -
Java中如何查看字节码?
之前一直没怎么看过Java中的字节码,也没尝试怎么去看过,最近准备深入研究一下Java并发和锁相关的东西,发现字节码是绕不过了,所谓“工欲善其事,必先利其器”,所以我们得先知道怎么去看字节码。这里,给出两种方式去查看字节码,一种是控制台,一种是图形化界面工具。(1)控制台要看字节码,首先你得知道你想看的字节码对应的class文件,这个class文件是有java文件经过编译而来的,至于怎么编译,可以...原创 2018-03-12 10:22:21 · 3064 阅读 · 0 评论 -
基于Redis的分布式锁实现及思考
目前,几乎所有的大型网站及应用都是分布式部署的。分布式环境下的数据一致性是一个非常重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来...原创 2018-03-12 23:11:01 · 644 阅读 · 0 评论 -
Java并发与锁设计实现详述(6)- 聊一聊Unsafe
UnSafe这个类是什么?我相信刚接触Java的人或者没有深入研究过Java的人应该都不会知道存在这个类。这个类是干嘛的呢?在讲并发的这个系列里为什么我要提它呢?答案很简单,那就是这个类对于并发非常重要,当然它的重要性不仅体现在对并发的支持上。之所以这篇文章说到UnSafe,是因为UnSafe类是同步队列器AbstractQueuedSynchronizer的重要组成部分,是AbstractQue...原创 2018-03-29 17:50:21 · 2308 阅读 · 0 评论 -
Java并发与锁设计实现详述(5)- AQS(AbstractQueuedSynchronizer)的实现
在这篇文章中我们来看一个非常非常重要的东西,那就是AbstractQueuedSynchronizer,简称AQS,又叫队列同步器。为什么说它重要呢?因为它是Java并发包Java.util.concurrent的核心所在,讲到Java并发,如果不知道AQS那你说你懂并发可能就有点过了^_^Java.util.concurrent并发包是谁写的呢?是下面这个大神Doug Lea,先来看一眼,虽然这...原创 2018-04-07 09:19:18 · 947 阅读 · 0 评论 -
Java并发与锁设计实现详述(13)- Java并发容器
关于Java中的并发容器,可参考以下文章,由于精力问题,这里只描述了几个典型的容器,在后期会不断更新补充:《Java并发容器之CopyOnWriteArrayList 》《Java并发容器之CopyOnWriteArraySet 》《Java并发容器之ConcurrentHashMap 》《Java并发容器之有界阻塞队列ArrayBlockingQueue ...原创 2018-05-17 19:08:57 · 407 阅读 · 0 评论 -
Java注解
在这篇文章中,对Java中的一个非常核心且重要的内容进行讲述,是什么呢?没错,就是注解!!!为什么要说注解?注解有什么用?怎么使用注解?怎么创建自定义的注解?。。。在这篇文章中,我们结合目前使用比较热的fastjson来说明注解。为什么要说注解?注解有什么用?之所以说注解,是因为注解能给我们提供非常方便的实现某些代码逻辑之外事情的方式,尤其在一些框架、工具中注解非常常见(就像fastjson,本身...原创 2018-06-28 22:13:33 · 1001 阅读 · 0 评论 -
分片上传及断点续传原理深入分析及示例Demo
分片上传、断点续传,这两个名词对于做过或者熟悉文件上传的朋友来说应该不会陌生。之所有有这边文章,还是因为自己在网上浏览了一些文章后发现没有找到一篇能瞬间明白原理和实现的,因此决定自己写一篇文章,方便有需要的朋友了解原理和实现。分片上传,就是将所要上传的文件,按照一定的大小,将整个文件分隔成多个数据块(我们称之为Part)来进行分别上传,上传完之后再由服务端对所有上传的文件进行汇总整合成原始的文...原创 2019-02-23 14:47:39 · 34148 阅读 · 14 评论 -
定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
在工作中,我们往往会遇到这样的需求,那就是我们可能需要定期的去处理一个任务,如定期的清理一些文件、定期离线爬取一些数据等,更多的时候是在凌晨别人都进入梦乡的时候偷偷的完成某些任务,这时候我们就需要知道如何去实现一个定时任务了。定时任务,简单的来说就是我们可以控制一个任务单元的执行时间和执行频率。那么有什么方法可以实现呢?下面我们从简单的开始说起。(1)TimerJDK中原创 2015-11-21 10:26:17 · 10062 阅读 · 1 评论 -
StringReader使用过程中出现空指针异常
在使用StringBuilder的过程中出现了空指针异常,BufferedReader reader = new BufferedReader(new StringReader(null));于是查看了下StringReader的源代码,在构造函数里: public StringReader(String s) { this.str = s; this.length =原创 2015-10-12 18:56:13 · 1866 阅读 · 0 评论 -
多线程入门
初学Java多线程:线程简介本文为Java多线程初学者系列的第一篇,简单介绍了什么是Java的线程及多线程的好处。由于Java是纯面向对象语言,因此,Java的线程模型也是面向对象的。一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作转载 2012-07-27 22:50:13 · 1253 阅读 · 0 评论 -
字符串杂谈
一、String类有length()方法吗?数组有length()方法吗? String类当然有length()方法了,看看String类的源码就知道了,这是这个方法的定义:Java代码 public int length() { return count;}String的长度实际上就是它的属性--char型数组value的长度。数组是没有转载 2012-10-03 01:22:50 · 602 阅读 · 0 评论 -
vector和arrayList,LinkedList区别
SDK提供了有序集合接口java.util.List的几种实现,其中三种最为人们熟知的是Vector、ArrayList和LinkedList。有关这些List类的性能差别是一个经常被问及的问题。在这篇文章中,我要探讨的就是 LinkedList和Vector/ArrayList之间的性能差异。为全面分析这些类之间的性能差异,我们必须知道它们的实现方法。因此,接下来我首先从性能的角度出发,转载 2012-09-26 11:54:43 · 1085 阅读 · 0 评论 -
网友精选的25个JAVA试题分享
1. float型float f=3.4是否正确? 答:不正确,应为float f=3.4f2. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是引用传递。3. 在java中一个类被声明为final类型,表示了什么意思? 答:表示该类不能被继承,意味着它不能再派生出新的子转载 2012-09-26 12:54:08 · 1678 阅读 · 2 评论 -
java synchronized详解
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchr转载 2012-09-26 13:34:52 · 632 阅读 · 0 评论 -
struts-config配置
1、 元素 元素是 Struts 配置文件的根元素。 元素有 8 个子元素。在 Struts 配置文件中,必须按照它的 DTD 指定的先后顺序来配置 元素的各个子元素,如果颠倒了这些子元素在配置文件中的顺序,在 Struts 应用启动时就会生成 XML 解析错误。 它的DTD定义如下:1转载 2012-10-23 17:04:53 · 1163 阅读 · 0 评论 -
Java中实现图片的裁剪
我们将通过以下步骤来学习:输入图像,指定要处理的图像路径 允许用户拖放要剪裁的部分 选择后使用 Robot 类来确定剪裁部分的坐标 剪裁所选图像并保持 代码由两个文件组成,一个是ImagePanel.java,另外一个文件是CopyImage.java。下面是代码实现:ImagePanel.java文件如下package com.application.sample;i原创 2012-11-10 23:01:24 · 1758 阅读 · 0 评论 -
关于Java自增操作的原子性
1.首先我们先看看Bruce Eckel是怎么说的:In the JVM an increment is not atomic and involves both a read and a write. (via the latest Java Performance Tuning Newsletter)意思很简单,就是说在jvm中自增不是原子性操作,它包含一个读操作和一个写操作。2.转载 2012-11-15 16:00:25 · 1135 阅读 · 0 评论 -
Java集合框架和数组的排序
首先要知道两个类:java.util.Arrays和java.util.Collections(注意和Collection的区 别)Collection是集合框架的顶层接口,而Collections是包含了许多静态方法。我们使用Arrays对数组进行排序,使用 Collections对结合框架容器进行排序,如ArraysList,LinkedList等。例子中都要加上import java.u转载 2012-11-15 21:04:45 · 694 阅读 · 0 评论 -
Java集合框架之小结
1、Java容器类库的简化图,下面是集合类库更加完备的图。包括抽象类和遗留构件(不包括Queue的实现): 2、ArrayList初始化时不可指定容量,如果以new ArrayList()方式创建时,初始容量为10个;如果以new ArrayList(Collection c)初始化时,容量为c.size()*1.1,即增加10%的容量;当向ArrayList中添加一个元素时,先进转载 2013-05-05 22:04:58 · 889 阅读 · 0 评论 -
20非常有用的Java程序片段
下面是20个非常有用的Java程序片段,希望能对你有用。1. 字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容BufferedWriter转载 2013-08-22 23:33:09 · 768 阅读 · 0 评论 -
使用Java调用Linux系统命令
有时候,我们在使用Java做一些操作时,可能性能上并不能达到我们满意的效果,就拿最近工作中的遇到的一个场景来说,需要对大量的小文件进行合并成一个大文件。最开始的想法是使用Java做文件操作,遍历所有小文件然后往一个文件写(可以做成并发写),但是发现操作过程中遇到个问题,写一千多个小文件在本机Windows下需要花费几十秒的时间,即使在Linux环境下高配置的机器也需要将近十秒,这明显对接口的响...原创 2019-03-24 10:47:29 · 5286 阅读 · 0 评论