Java
给糖吃的小骗子
懒人
展开
-
Java操作系统剪切板Clipboard及自定义剪切板
转自:系统剪切板:系统剪切板一般支持String文本类型和Image图像类型:String文本类型插入:Java代码 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();//获取系统剪切板 String str = "哈哈";//设置字符串 S转载 2017-05-24 08:44:09 · 2694 阅读 · 0 评论 -
Java实现登录界面的验证码
首先我们创建一个GetRandImage类用来获取随机验证码和图片package com.zhu.util;import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.aw原创 2017-06-09 17:41:45 · 2087 阅读 · 1 评论 -
java仿QQ写的聊天软件
由于该软件代码较多,就不在贴出来,下面是源码的下载链接渣渣聊天室服务器启动类 ChatServer 客户端启动类LoginFrame下面是该软件的截图原创 2017-06-14 19:43:49 · 2655 阅读 · 4 评论 -
javac编译Servlet类出现找不到javax.servlet包的情况
解决办法:从tomcat lib目录下拷贝一个servlet-api.jar的包到“JDK\jre\lib\ext”目录下凡是出现找不到包的情况,都可以将找到的包放到JDK\jre\lib\ext下,然后再编译就能够通过(平常用eclipse习惯了,有些环境搭建的操作都被这些IDE做好了,当真正需要手动的时候我却不知道如何下手,看来以后不管学什么技术首先要学会自己手动搭建环境之类的,等原创 2017-07-20 20:57:45 · 1151 阅读 · 0 评论 -
上传控件选择完图片后将其立即显示在页面上(jquery ajax)
最近做了一个个人博客系统,在添加修改“博主信息”功能中有一项选择头像,用过<input type="file" />控件的都知道,选择完图片之后显示的只是文件的名字,而我想将图片显示在页面上,初步的想法是选择完图片后提交到后台,然后返回图片的地址,在刷新页面,图片就可以成功的显示在页面上了,但是这种做法让用户的体验很差,我只是单单的选择了一个头像页面就要刷新吗?显然这样是行不通的,所以我决定用ajax异步提交图片到后台,这样就无需再刷新页面了。这里我使用了jquery提供的ajax异步提交。首先要引入jqu原创 2017-08-20 12:11:04 · 9976 阅读 · 6 评论 -
通过一个实例让你快速学习java反射
什么是反射?反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是:如果使用不当,反射的成本很高。通俗的讲就是反射可以在运行时根据指定的类名获得类的信息。 也许你看完原创 2017-09-16 13:37:32 · 469 阅读 · 0 评论 -
深入剖析JDK动态代理实现原理
一.前言动态代理是目前使用的比较广泛技术,大家都比较熟悉的框架比如Spring中的AOP特性就用到了动态代理二、动态代理使用示例比如说有一个业务需要我们在添加或者删除用户的时候,将信息添加到日志当中,但是把日志的代码插入原有的业务代码中是很不雅观的,为了不破坏原有的实现类,这时候我们就可以用到动态代理。接口类public interface UserService {原创 2018-01-21 17:35:20 · 2327 阅读 · 1 评论 -
Java中存储金额用什么数据类型
Java面试高频问题:你会用什么数据类型来存储金额? 如果这个时候你回答float,double那么恭喜你,又可以省出时间来准备别的公司的面试了,当面试官说float,和double不行的时候你可能还一脸懵逼,为啥不行?那么请看下面的例子public class Test { public static void main(String[] args) { double a=0.原创 2018-01-28 17:57:21 · 21690 阅读 · 0 评论 -
volatile关键字的作用
Java中的关键字volatile是Java中提供的最轻量级的同步机制,那么为何可以在不加锁的情况下就可以用volatile来实现同步呢?这要得益于volatitle关键字的两大特性:内存可见性、禁止重排序。一.内存可见性 了解volatile是如何实现内存可见性之前,我们需要知道Java中主内存与工作内存的工作机制: Java内存模型中规定了所有的变量都存储在主内存中,每条线程还有自己的...原创 2018-03-25 10:21:30 · 1065 阅读 · 0 评论 -
使用Spring Aop实现权限拦截功能
最近在做的一个系统需要实现权限拦截功能,主要是防止一些恶意的用户直接输入URL来对我们的系统造成破坏。下面来说以下具体的实现:首先看一下我们定义的Aspect类package com.hhoj.judger.aspect;import java.lang.reflect.Method;import javax.servlet.http.HttpServletRequest;imp...原创 2018-03-28 14:13:26 · 6340 阅读 · 1 评论 -
为什么匿名内部类参数必须为final类型
1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的2) 为什么JAVA中要加上一条限制:只能访问final型的局部变量?3) JAVA语言的编译程序的设计者当然全实现:局部内部类能访问方法中的所有的局部变量(因为:从理论上这是转载 2017-06-20 20:10:15 · 236 阅读 · 0 评论 -
Java统计文件中每个字符出现的个数
package com.zhu.io;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.Map;import java.util.Set;import java.util.TreeMap;p原创 2017-06-02 16:28:34 · 5845 阅读 · 0 评论 -
如何让Eclipse的启动速度加快
修改eclipse安装目录下的eclipse.ini文件-Xverify:none 此处认为eclipse的字节码文件是可靠的, 则不需要启动的时候再进行校验。这是没加-Xverify:none 参数之前eclipse的启动时间这是加了之后的,快了将近一半左右。eclipse启动耗时插件制作教程:点击打开链接原创 2017-04-27 15:50:39 · 2220 阅读 · 0 评论 -
Eclipse启动耗时显示插件详细制作教程
参考自《深入理解Java虚拟机》1、首先我们要先创建一个插件工程。File->New->Project->Plug-in Development->Plug-in Project2、此时我们的工程已经创建完成,在工程的src目录下,建个名为ShowTime的类3、该类需要继承IStartup接口,并实现earlyStartup()方法,代码如下:import org原创 2017-04-27 09:58:34 · 2424 阅读 · 7 评论 -
eclipse如何导入swt包
swt是一些用于javaGUI即图形界面设计用的插件。在eclipse集成环境可以安装。它比java的awt提供更美观的图形界面。属于功能比较强大的插件。是一些java包的集合swt下载地址:点击打开链接导入eclipse步骤:1、在Eclipse菜单栏,选择File-〉Import2、选择Existing Projects into Workspace ,点击Next原创 2017-04-27 08:50:33 · 11654 阅读 · 0 评论 -
使用LinkedList作为基层实现,定义自己的Set
import java.util.Iterator;import java.util.LinkedList;import java.util.Random;public class MySortSet<E extends Comparable> implements Iterable<E>{ private LinkedList<E> list=new...原创 2017-05-30 15:59:11 · 863 阅读 · 0 评论 -
用LinkedList实现自己的Stack
import java.util.LinkedList;public class MyStack { LinkedListelements=newLinkedList(); public void push(T e){ elements.addFirst(e); } public T pop(){ T e=elements.removeFirst(); return e;原创 2017-05-20 12:06:42 · 889 阅读 · 0 评论 -
Map与List结合而成的强大的数据结构
package com.zhu.map;import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;interface Pet{ }class Cat implements Pet{ public原创 2017-05-20 16:38:22 · 1460 阅读 · 0 评论 -
Collection与Iterator
import java.util.AbstractCollection;import java.util.Collection;import java.util.Iterator;interface Pet{ }class Cat implements Pet{ public String toString(){ return "我是小猫"; }}class Dog imp原创 2017-05-20 17:26:15 · 97 阅读 · 0 评论 -
Foreach与迭代器
Iterable接口包含一个能够产生Iterator的iterator()方法,并且Iterable接口被foreach用来在序列中移动,意思就是想要将一个类用在foreach语句中它就要实现Iterable.package com.zhu.foreach;import java.util.Iterator;public class ForEachCollections impleme原创 2017-05-20 17:38:45 · 1123 阅读 · 0 评论 -
Java遍历磁盘文件的时候出现空指针异常(NullPointException)
前天用java写了个小程序,用来遍历磁盘的文件,结果跳出来个NullPointException,一开始我以为是我程序的问题,找了半天没找出来错在了哪,当我把遍历的对象改成我的u盘时,程序运行正常,没有报出错误,感觉有点懵逼。。 以下是我程序中的部分代码: public static class TreeInfo implements Iterable{ private原创 2017-06-02 14:32:53 · 5657 阅读 · 0 评论 -
通过代码拼接实现动态代理
在Java领域,动态代理应用非常广泛,特别是流行的Spring/MyBatis等框架。JDK本身是有实现动态代理技术的,不过要求被代理的类必须实现接口,不过cglib对这一不足进行了有效补充。上一篇博客介绍了动态代理技术的原理,本篇博客将自己动手写代码去实现动态代理。 本文中动态代理的实现方式与JDK中的动态代理实现方式几乎相同,唯一的不同点就是JDK动态代理使用的是字节码拼接来生成.cla...原创 2018-05-11 15:40:00 · 545 阅读 · 0 评论