- 浏览: 287363 次
- 性别:
- 来自: 沈阳
最新评论
-
rentaoshu:
在JDK 8中,Javadoc中添加了doclint,而这个工 ...
maven执行package命令报maven-javadoc-plugin错误 -
刘翻的微博:
我也遇到这个问题了,不知道怎么解决。。。
maven执行package命令报maven-javadoc-plugin错误 -
chaoge145:
你自己验证过吗?可以运行出结果吗?
三、通过UrlConnection调用Webservice服务 -
1018596088:
3ks
JAVA中方法参数的引用传递 -
1018596088:
...
JAVA中方法参数的引用传递
文章列表
在网上查的sql语句一般都是:
select TABLE_NAME
from user_tab_columns
where COLUMN_NAME='CNAME'
可是在user_tab_columns表中查询某字段在哪些表中出现过的时候,会把视图也查出来,还会查出一个莫名其妙的一串字符,与需求不符,
之后又认识了另一个表:user_tables,这个表能够查询出用户有那些表。
用user_tab_columns与user_tables的inner join即可查询出某字段在哪些表中有了。
select t.table_name
from us ...
正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。
本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。
下面我从几个例子作为切入点来讲解下 Java 里有哪些方法来实现线程间通信。
1、如何让两个线程依次执行?
2、那如何让 两个线程按照指定方式有序交叉运行呢?
...
类加载器是一切Java应用的基础,在JVM中提供了3个类加载器,他们以一种父子树的方式创建,同时使用委派模式确保应用程序可通过自身的类加载器(System)加载所有可见的Java类。
委派模式过程如下:
1、从缓存 ...
一、BIO基础
BIO即阻塞式I/O,是Java提供的最基本的IO方式,在网络通信中,需要通过Socket在客户端与服务端建立双向链接以实现通信,其主要步骤如下:
1、服务端监听某个端口是否有链接请求。
2、客户端向服务端发出链接请求。
3、服务端向客户端返回Accept接受消息,此时链接成功。
4、客户端和服务端通过Send(), Write()等方法与对方通信。
5、关闭链接。
一张BIO的思维导图(图片来源:https://my.oschina.net/langxSpirit/blog/830620)
...
1、代码背景:
假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?
2、代码:
统计“盘子”大小的代码,此处实现jdk中的Callable接口,
package com.wang.test.concurrent;
import java.util.concurrent.Callable;
public class Task1 implements Callable<Integer> {
private int x; ...
一个测试的实体类:
public class Param implements Serializable {
private static final long serialVersionUID = 5187074869820982336L;
private Integer param1;
private String param2;
public Integer getParam1() {
return param1;
}
public void setParam1(Integer param1) {
this.param1 = ...
java中的PropertyChangeSupport与PropertyChangeListener配合使用能够实现,绑定属性会在属性值发生变化时,通知所有相关的监听器。
javaBean:
package com.wang.test.property;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class TestBean {
protected final PropertyChangeSupport support = new ...
linux 安装mysql,按下面的步骤顺序执行即可:
1、查看系统中是否已经自带mysql数据库:rpm -qa | grep mysql
2、普通删除模式:rpm -e mysql (强力删除模式:rpm -e --nodeps mysql)
3、yum命令进行mysql的安装
查看yum上提供的mysql信息:yum list | grep mysql
安装:yum install -y mysql-server mysql mysql-deve
4、查看已安装数据库的版本信息: rpm -qi mysql-server
5、启动mysql服务:se ...
报错信息:
host:java.net.UnknownHostException: centos-wang: centos-wang: unknown error
在执行hadoop namenode -format命令时,出现未知的主机名。
问题原因:
出现这种问题的原因是Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名与/etc/hosts文件中进行映射的时候,没有找到。
解决方案:
1、修改/etc/hosts内容
2、修改 /etc/sysconfig/network 中的 hostname ...
本次文章的主要内容:
TypeAdapter
JsonSerializer与JsonDeserializer
TypeAdapterFactory
@JsonAdapter注解
TypeAdapter与 JsonSerializer、JsonDeserializer对比
TypeAdapter实例
结语
后期预告
一、TypeAdapter
TypeAdapter 是Gson自2.0(源码注释上说的是2.1)开始版本提供的一个抽象类,用于接管某种类型的序列化和反序列化过程,包含两个注要方法 write(JsonWriter,T) 和 read(JsonReader) 其 ...
本次的主要内容:
字段过滤的几种方法
基于@Expose注解
基于版本
基于访问修饰符
基于策略(作者最常用)
POJO与JSON的字段映射规则
一、字段过滤的几种方法
字段过滤Gson中比较常用的技巧,特别是在Android中,在处理业务逻辑时可能需要在设置的POJO中加入一些字段,但显然在序列化的过程中是不需要的,并且如果序列化还可能带来一个问题就是 循环引用 ,那么在用Gson序列化之前为不防止这样的事件情发生,你不得不作另外的处理。
以一个商品分类Category 为例。
{
"id": 1,
"name&qu ...
本次的主要内容:
Gson的流式反序列化
Gson的流式序列化
使用GsonBuilder导出null值、格式化输出、日期时间及其它小功能
一、Gson的流式反序列化
自动方式
Gson提供了fromJson()和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化。同时每个方法都提供了重载方法,我常用的总共有5个。
这是我在上一篇文章开头说的,但我到最后也一直没有是哪5个,这次我给列出来之后,你就知道这次讲的是哪个了。
Gson.toJson(Object);
Gson.fromJson(Reader,Class);
Gson.f ...
本篇文章的主要内容:
Gson的基本用法
属性重命名 @SerializedName 注解的使用
Gson中使用泛型
一、Gson的基本用法
Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化。同时每个方法都提供了重载方法,我常用的总共有5个。
基本数据类型的解析
Gson gson = new Gson();
int i = gson.fromJson("100", int.class); //100
为什么要用线程池?
诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP ...
solr就不多介绍了。是用于搜索功能的开源工具,很强大
一、solr环境部署
solr本身能够用jetty启动,但是还是用tomcat启动比较适合我自己。学习solr有两个星期了,到现在(2016.11.27)solr最新版已经是6.3.0了,不过没关系,基本的东西都是一样的。
1、solr官网: http://lucene.apache.org/solr/
下载后解压,是这样的目录结构:
2、solr当然可以直接按网上其他很多教程那样整合到tomcat中,但是本人更喜欢建一个新工程,这样更灵活。下面我们在eclipse中新建一个tomcat-solr的java web工程 ...