Java
老高丶
这个作者很懒,什么都没留下…
展开
-
Java与Python下载Bing首页图片
HttpClient下载Bing首页图片import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.Clo原创 2015-05-26 19:51:41 · 1430 阅读 · 0 评论 -
Java动态代理
存在即合理,存在就有存在的理由,java动态代理的存在是为了解决静态代理出现的不足,所以首先看一看什么是静态代理: 有如下接口:public interface SayHello { void sayHello();}有如下实现:public class HelloImpl1 implements SayHello { public void sayHello() {原创 2016-03-12 17:27:32 · 677 阅读 · 1 评论 -
几种线程安全的单例
DCL(双重检查加锁)public class Singleton{ //volatile确保对singleton的读操作不会被重排序到内存屏障之前 private volatile static Singleton singleton = null; //建议所有的单例模式构造器都是私有的,防止在类外部建立多个实例 private Singleton() {}原创 2015-12-14 22:47:34 · 1181 阅读 · 0 评论 -
连接本地MySQL被拒绝连接如何处理
在代码中连接mysql时,可能出现拒绝连接的错误,我说一下我是如何解决的,拒绝连接可能有很多原因,所以我这个不一定适合你的情况,你如果遇见这种问题,应该多搜,多尝试。我是在连接本地数据库时出现这个错误的。 我解决办法是: 连接数据库的语句中的地址不要写“localhost”,而是改成“127.0.0.1” 或者,在hosts文件中加一行“127.0.0.1 localhost”原创 2016-05-25 16:48:11 · 13668 阅读 · 2 评论 -
HttpClient4.4.1模拟登录知乎
HttpClient4.4.1模拟登录知乎一,登录要Post的表单数据是什么这部分可以使用Wireshark工具来抓包就可以了,发现需要以下数据: > “_xsrf” = xxxx(这是一个变动的数据,需要先活取获取知乎首页源码来获得) “email” = 邮箱 “password” = 密码 “rememberme” = “y”(或者n也可以)获取_xsrf数据:String xsr原创 2015-05-05 21:57:40 · 13694 阅读 · 17 评论 -
Servlet上传文件的实现
浏览器会如何上传一个文件? 注意最下面那一栏,那就是这次post的实体部分,这个实体中包含着文件内容,chrome这里隐藏了文件内容,我实际传了一个内容是”123“的文本文件,完整实体部分是下面这样子:注意第一幅图中的Content-Type属性,中间有一个”boundary“,boundary意思是”边界,界限“。其实是浏览器随机生成的一串字符串,用来界定真正文件的范围的,当我们把实体部分接收到原创 2016-05-23 16:18:13 · 632 阅读 · 0 评论 -
记一次neo4j项目打包出现的问题
Caused by: java.lang.IllegalArgumentException: An SPI class of type org.apache.lucene.codecs.PostingsFormat with name 'Lucene50' does not exist. You need to add the corresponding JAR file supporting this SPI t原创 2016-07-28 09:09:23 · 2411 阅读 · 0 评论 -
Java字符串
Java字符串这几天看了Java字符串,所以写出来,当做笔记。一,String与StringBuilder首先,String是不可变的,StringBuilder是可变的。所以,在使用上肯定是有区别的,当我们一个字符串经常会改变的时候,最好使用StringBuilder,当一个字符串很少改变使用String更佳。下面一个例子比较一个经常改变的字符串在分别使用String和StringBuilder时原创 2015-06-01 01:24:17 · 1130 阅读 · 1 评论 -
String源码中的“avoid getfield opcode”是什么意思
avoid getfield opcode其实是一段注释,看代码时不理解,就查了查在这记录一下。下面是一段String源码示例:public String trim() { int len = value.length; int st = 0; char[] val = value; /* avoid getfield opcode */ while...原创 2016-08-01 11:27:52 · 3461 阅读 · 0 评论 -
maven打包如何包含本地jar包内容
下面使用到了两个插件,maven-shade-plugin和addjars-maven-plugin。凡是讲到打包,前一个插件基本都有说,但是第二个插件很少提到。 后面这个插件解决了这样一个问题:我有一些本地jar包,不是使用maven引入的,我该如何将这些本地jar包打入最终的jar包中呢? 有些人说可以使用system类型的dependency引入本地jar包。 有些人说system类型的原创 2017-11-21 20:53:55 · 5192 阅读 · 1 评论 -
Java---实现生产者消费者模型
使用BlockingQueuepackage concurrent;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** * Created by geekgao on 16-3-4. */public class ProducerAndConsu原创 2016-03-06 14:09:29 · 1716 阅读 · 0 评论 -
抓取熊猫TV弹幕
前天看到了别人写的抓取斗鱼弹幕的程序,抓取斗鱼弹幕是我很早以前的一个想法,但是无奈不会写,不懂得tcp传过来的那些字节的含义,所以没写出来,当我看到别人写好的代码,我就参照人家的博客自己实现了一遍,今天我就想熊猫tv应该也是差不多的,所以自己写了一个抓熊猫TV弹幕的代码。 有想抓斗鱼弹幕的建议去看这个博客,有详细步骤 http://brucezz.github.io/articles/20原创 2016-01-29 23:46:21 · 13419 阅读 · 7 评论 -
Java和Python使用有道词典制作查单词脚本
Java和Python使用有道词典制作查单词脚本先上两张图看一下效果 Java的: Python的: 今天突发奇想,想做个查单词的东西,就赶紧去有道词典官网看了一下,原来我们要查询的单词是嵌入在网页地址中送给有道词典的,然后页面的结果就是我们需要的单词释义,所以这个东西需要的技术知识只有: 正则表达式我们要做的只是从获取到的网页源码中提取处单词释义,所以这里只说提取单词释义的正则表达原创 2015-06-01 19:41:04 · 4039 阅读 · 0 评论 -
hibernate之hello world
一,建立工程项目不论使用idea,eclipse还是eclipse,都只需要建立普通的java项目即可二,引入类包写最简单的hibernate代码,只需要hibernate核心jar包即可,去hibernate官网下载最新版本,解压开,将文件夹内部的lib下的required文件夹内部的jar包都拷过来.这些都是需要的.三,配置hibernate.cfg.xml文件这个文件,建立在代码文件夹src下原创 2015-08-05 10:42:32 · 822 阅读 · 0 评论 -
Java中如何获取到资源文件
我的答案: 路径这样写: 当前类.class.getResourceAsStream(“/文件名”)解释: 上面的方法加载的路径是classpath路径,我们知道默认的classpath路径是当前目录,所以只需要将资源文件放在[当前类的目录]下就可以 注意: [当前类的目录]指的是类包的上一层目录 假如我的类在com.原创 2015-10-17 22:51:16 · 907 阅读 · 0 评论 -
The method getDispatcherType() is undefined for the type HttpServletRequest解决办法
我和小伙伴一起做一个项目,他从我的github上clone代码到自己机器运行出现这个错误后来检查出来试因为tomcat版本不一致,我用的8.0.27,他是8.0.23给他装了8.0.27的tomcat之后就好了原创 2015-11-06 15:48:56 · 3137 阅读 · 0 评论 -
getBytes(charsetname)与String(bytes,charsetname)
其实这篇博文是由上一篇博文引起的,因为上一篇提到了getBytes(charsetname)与String(bytes,charsetname)这两个方法,一直对编码解码不是很清楚,这次花费心思下决心搞明白它,在网上各处查资料,现在把我的理解说出来,仅供大家参考首先要说,java中String的数据是如何存储的,查看源代码就可以知道,String的数据是存储在char[] value这样一个成员变量原创 2015-11-24 01:23:27 · 12951 阅读 · 2 评论 -
Java动态代理学习
刚在Java虚拟机书上看到了说Java的动态代理的实现机制,使我困惑很久的问题终于被解开,所以在这里记录一下. 先奉上测试代码(每个类或接口一个.java文件)://等会儿会被代理的接口//Java自带的动态代理生成的是代理接口的对象public interface SayHello { void sayHello();}//上面接口的一个实现类public class Hello原创 2015-11-19 16:24:04 · 791 阅读 · 0 评论 -
volatile
作用: (1)被修饰的变量在多个线程中具有可见性 (2)被修饰的变量不会参与指令重排序关于第(2)条的准确含义,查课很多书,看了很多博文,最终我觉得最简单明了,又很准确的一种解释是: 被声明为volatile的变量的读写操作不会同时进行 推荐一篇写的非常详细的关于volatile的博文链接原创 2015-12-08 17:23:48 · 528 阅读 · 0 评论 -
synchronized
功能 建立一个同步代码块,使其中的代码成为一个原子操作使用方法 (1)直接在方法声明时声明方法为synchronized方法 (2)在方法内部使用synchronized(对象){…}须知 每个java对象都可以用作一个实现同步的锁,这些锁被称为”内置锁”或者”监视器锁” 非静态方法的锁是调用这个方法的对象 静态方法的锁是这个对象所代表的类的Class对象原创 2015-12-05 22:22:04 · 529 阅读 · 0 评论 -
Java线程池中的异常消失
使用ExecutorService.submit()提交的任务会由于线程池自身的保护机制,不会将异常打印到控制台,所以不会看到,有时程序莫名其妙的结束就是因为这种情况可以这样Runnable crawlBlog = new Runnable() { public void run() { try { doSomething(); } c原创 2015-12-08 17:30:12 · 5014 阅读 · 2 评论 -
避免创建不必要的对象(Effective Java第5条)
避免创建不必要的对象,这一条告诉我们,要尽可能的重用对象。书中举了几个例子来讲解一些无意识的创建不必要的对象的情况。1. String类的使用String str = new String("abc");上面这条代码执行过后,会生成两个对象,参数”abc”本身就是一个String对象,new String()又会产生新的String对象。正确的做法如下:String...原创 2018-03-11 22:43:40 · 482 阅读 · 0 评论