
java
文章平均质量分 55
李智正在学习中
这个作者很懒,什么都没留下…
展开
-
java回调机制
今天一个朋友问什么Java回调机制,当时人是懵逼的,就去找了些资料。 所谓回调,就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法一个通俗的例子: 一天,我打电话向你请教问题,当然是个难题,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈原创 2016-07-22 23:11:34 · 478 阅读 · 0 评论 -
高级for循环使用remove/add 问题
今天在高级for循环中用了一下remove发现报错,写了个demo测试看: List<String> a = new ArrayList<String>(); a.add("1"); a.add("2"); for (String temp : a) { if("1".equals(temp)){ a.remove(temp);} }此时代码是没有问题的,运行正常原创 2016-12-29 17:38:29 · 4185 阅读 · 1 评论 -
jdk1.8的HashMap和ConcurrentHashMap
转自乒乓狂魔本文针对jdk1.8的ConcurrentHashMap1.8的HashMap设计1.1 整体概览HashMap采用的是数组+链表+红黑树的形式。数组是可以扩容的,链表也是转化为红黑树的,这2种方式都可以承载更多的数据。用户可以设置的参数:初始总容量默认16,默认的加载因子0.75初始的数组个数默认是16(用户不能设置的)容量X加载因子=阈值一旦目前容量超过该阈值,则执行扩容操作。什么转载 2017-01-07 01:09:13 · 2258 阅读 · 0 评论 -
虚拟黑车Java版
既然是发的黑车,磁力链接那套就不必仔细研究了, 磁力链接其实类似于这样(下面的这个是真车): magnet:?xt=urn:btih:3AEA94481B0A406C66083F14C6F42635C14562C2说白了就是随机填充 40 个字母或数字,不过有一定几率会发出真车。代码实现: public class OldDriver { public static void mai原创 2017-02-18 15:28:30 · 969 阅读 · 0 评论 -
为什么volatile不能保证原子性而Atomic可以?
在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方文档是这样形容volatile的: The Java programming language转载 2017-03-02 15:55:07 · 522 阅读 · 0 评论 -
apache poi操作(适用于word 2007)
import java.io.FileOutputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apac原创 2017-02-14 17:10:57 · 771 阅读 · 0 评论 -
Java使用websocket和WebRTC实现视频通话
最近这段时间折腾了一下WebRTC,这两天终于是抽了时间把WebRTC搞定了,去年就想弄的,但是确实没时间。看了网上的https://apprtc.appspot.com/的例子(可能需要翻墙访问),这个例子是部署在Google App Engine上的应用程序,依赖与GAE的环境,后台的语言是python,而且还依赖Google App Engine Channel API,所以无法在本地运行,也原创 2017-03-11 12:08:55 · 23130 阅读 · 7 评论 -
Java网易短信接入demo
由于最近使用云信添加短信接入功能,记录一下一些点避免时间久了忘记。发短信package com.lincoln.Untils;import com.alibaba.fastjson.JSON;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client原创 2017-03-23 10:21:21 · 3092 阅读 · 0 评论 -
Java开发必会的Linux命令
1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name “*.xml” 递归查找所有的xml文件find . -name “*.xml” |xargs grep “hello world” 递归查找所有文件内容中包含hello world的xml文件grep -H ‘spring’ *.xml 查找所以有的包含sp转载 2017-04-29 14:01:38 · 713 阅读 · 0 评论 -
Java基于zxing生成二维码demo
QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示一下:这个图如果被正确解码,应该看到百度。具体的也不说什么了,百度一大把,直接上源码~package com.lincoln.Untils;import com.google.zxing.BarcodeFormat;import com.g原创 2017-03-23 19:47:04 · 781 阅读 · 0 评论 -
系统学习Spring(一)
对于Java开发者来说,这是一个好的时代。在过去的20年中,Java经历了好的时候,也经历了坏的时候。尽管有一些粗糙的地方,比如:Applets、 EJB、JDO和无数的日志框架,Java有丰富多样的历史,有很多企业已经建立的平台。其中,spring一直 都是其中最重要的组成部分。在早期,Spring被创建用于替代笨重的Java企业技术,比如EJB。相比于EJB,Spring提供了一个更加精原创 2017-05-09 17:02:06 · 5220 阅读 · 3 评论 -
系统学习Spring(二)——装配Bean
任何一个成功的应用都是由多个为了实现某个业务目标而相互协作的组件构成的,这些组件必须相互了解、能够相互协作完成工作。 例如,在一个在线购物系统中,订单管理组件需要与产品管理组件以及信用卡认证组件协作;这些组件还需要跟数据库组件协作从而进行数据库读写操作。 在Spring应用中,对象无需自己负责查找或者创建与其关联的其他对象,由容器负责将创建各个对象,并创建各个对象之间的依赖关系。 通俗的来说,原创 2017-05-10 12:38:43 · 979 阅读 · 0 评论 -
Java泛型总结
一. 我们为什么需要泛型?首先,我们看下下面这段简短的代码:package CoreJava.day_5;import java.util.ArrayList;import java.util.List;/** * @author 李智 * @date 2016/12/15 */public class GenericTest { public static void main(S原创 2016-12-15 10:50:32 · 2105 阅读 · 3 评论 -
HashMap面试题总结!
HashTable和HashMap的区别有哪些?HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。理解HashMap是Hashtable的轻量级实现(非线程安全的实现,hashtable是非轻量级,线程安全的),都实现Map接口,主要区别在于:1、由于HashMap非线程安全,原创 2016-12-25 11:06:01 · 1148 阅读 · 0 评论 -
HashMap学习笔记
hashmap的 扩容机制上一篇说了,hashmap的构造器里指明了两个对于理解HashMap比较重要的两个参数 int initialCapacity, float loadFactor,这两个参数会影响HashMap效率,HashMap底层采用的散列数组实现,利用initialCapacity这个参数我们可以设置这个数组的大小,也就是散列桶的数量,但是如果需要Map的数据过多,在不断的add之后原创 2016-12-25 10:49:44 · 475 阅读 · 0 评论 -
Java编码规则
前言这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则, 对于那些不是明确强制要求的,我们尽量避免提供意见。1.1 术语说明转载 2016-07-17 18:58:39 · 855 阅读 · 0 评论 -
证明ArrayList线程不安全以及如何安全
在知乎上看到了一个话题,如何判断 Java 工程师的基础知识是否扎实? 看到一个回答印象很深刻,其中说到证明ArrayList线程不安全以及如何使之安全,写了一份代码:public class ThreadSafeDemo { public static int demo(final List list, final int testCount) throws InterruptedExc原创 2016-08-20 21:55:39 · 1761 阅读 · 0 评论 -
Java i = i ++问题
今天看到网易Java面试题一道题;package algorithms.com.guan.javajicu; public class Inc { public static void main(String[] args) { Inc inc = new Inc(); int i = 0; inc.fermin(i); i原创 2016-08-21 20:11:20 · 458 阅读 · 0 评论 -
Java的静态/动态绑定
今天看到《Java核心技术I》书上的动态绑定,意思就是当子类和父类存在同一个方法,子类重写了父类的方法,程序在运行时调用方法是调用父类的方法还是子类的重写方法呢?程序会在运行的时候自动选择调用某个方法(根据方法表)。 看完这里不由自主的想到,有动态肯定也就有静态吧,于是去求助了下google,首先看了下什么是绑定: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对原创 2016-11-28 23:52:15 · 855 阅读 · 0 评论 -
RabbitMQ学习笔记
RabbitMQ注解方式配置说明 http://blog.youkuaiyun.com/zh350229319/article/details/52230674 RabbitMQ中 exchange、route、queue的关系 http://www.360doc.com/content/14/0608/22/834950_384932402.shtml 消息队列RabbitMQ与Spring集成 h原创 2016-11-02 14:29:57 · 479 阅读 · 0 评论 -
为什么要用spring,springMVC?
今天被公司派到别的公司谈项目,刚去就先被面试了一波(原来是把我外包到别的公司做项目了 -。-),面试时候问了我一个问题,很简单,就是问我java开发web项目为什么要用spring,springmvc? 好吧,当时我人直接懵逼了,什么鬼问我这个!!不就是可以省去很多功夫让我们踏踏实实写业务代码嘛? 当时就随便回答了一些,回到公司仔细想想,发现还有挺多可以想,可以讲的原创 2016-11-30 22:36:50 · 23892 阅读 · 27 评论 -
Java 8 最佳技巧
翻译文章在过去的几年中,我一直使用Java 8 进行了很多的编码工作,用于开发 新应用 和 迁移遗留应用 ,我觉得是时候写一些有用的”最佳实践”。我个人不喜欢”最佳实践”这个术语,因为它意味着“一刀切”的解决方案,当然编码工作是不会这样的–这是因为我们开发人员会想出适合我们的方案。但我发现我对Java8特别的喜欢,它让我的生活更轻松一点,所以我想就此话题展开讨论。OptionalOptional是翻译 2016-12-14 16:59:29 · 582 阅读 · 0 评论 -
Java反射学习总结(一)
Java提供的反射机制允许我们在运行时期动态载入类,检测和修改它本身状态或行为,要举反射机制的一个实例的话,就是在整合开发环境中所提供的方法提示或者类的检查工具,另外像jsp中的javabean自动收集请求也用到了反射,还有我们经常用的框架也可以看到反射机制的使用,这样可以达到动态载入使用者自己定义的类的目的。 在我们拿到一个类时,即使对它一无所知,但是其实他本身就包括了很多信息,Java在需要使原创 2016-12-04 00:10:25 · 592 阅读 · 0 评论 -
Java反射学习总结(二)
使用 Class.forName() 加载类在一些应用中,我们无法事先知道使用者将会加载什么类,而必须让使用者指定类名类加载类,我们就可以用Class的静态forName()方法来实现动态加载类,如下:package CoreJava.day_2;/** * @author 李智 * @date 2016/12/4 */public class ForNameDemo { publi原创 2016-12-04 22:13:02 · 583 阅读 · 0 评论 -
Java反射学习总结(五)
使用反射实例对象 使用反射机制,我们可以在运行时动态加载类并且实例化对象,操作对象的方法、改变类成员的值,甚至还可以改变私有(private)成员的值。我们可以用 Class 的 newInstance() 方法来实例化一个对象,实例化的对象是以 Object 传回的,例如:Class c = Class.forName(className);Object obj = c.newInstance原创 2016-12-05 23:29:07 · 568 阅读 · 0 评论 -
HashMap源码学习总结
什么是Map?Map用于保存具有key-value映射关系的数据首先看图!可以看出Java 中有四种常见的Map实现——HashMap, TreeMap, Hashtable和LinkedHashMap:·HashMap就是一张hash表,键和值都没有排序。 ·TreeMap以红黑树结构为基础,键值可以设置按某种顺序排列。 ·LinkedHashMap保存了插入时的顺序。 ·Hashtable原创 2016-12-25 00:10:22 · 571 阅读 · 0 评论 -
Java计算代码行数
看到一个计算代码行数的机试题目,demo如下:package demo;import java.io.*;/** * 统计代码行数demo * author:lizhi */public class StatisticCodeLines { public static int normalLines = 0; //有效程序行数 public static int whiteL原创 2017-08-04 16:12:57 · 1806 阅读 · 0 评论