
JAVA
稻草一根
这个作者很懒,什么都没留下…
展开
-
SSM框架之MyBatis(二)--多表查询及查询结果映射
使用MyBatis这一强大的框架可以解决很多赋值的问题,其中对于子配置文件中的小细节有很多需要注意的地方,使用这个框架后主要就是对于配置文件的编写和配置。今天我写了一个多表查询,表的基本结构如下:用户表t_user:用户编号uid,账号account,昵称nickname,性别gender订单表t_order:订单编号oid,下单时间gen_time,总价total_price,用户编号us...原创 2017-02-27 18:42:01 · 30284 阅读 · 4 评论 -
数据库的常用操作命令
今天是2017年第一天上课,结束了两个星期的散漫,今天开始收心啦。今天开始就慢慢的走向了使用java基础编写复杂的程序的方向啦。关系型数据库:关系型数据库,是建立在关系模型基础上的数据库。关系模型就是指二维表格模型,即以行和列的形式存储数据。之前在学校已经学过SQL Sever了,虽说学的草草率率的但是大概的语法和一些基本的查询语句还是会一点的,所以今天学的还算轻松,原本想不到写点什么原创 2017-02-06 20:09:55 · 6051 阅读 · 0 评论 -
UDP和TCP的简单实现和基本流程
UDPClientpackage cn.edu360;/* * UDP客户端的简单实现和流程 */import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class Client { public static void mai原创 2017-01-17 21:48:43 · 786 阅读 · 0 评论 -
梦想起航的地方
这四个月注定孤独,思考良久,决定在这儿记录下自己孤军奋战的背影。现在是2016年的年末了,还有短短的时日就得踏上社会了,和当初踏进大学一样,对每个陌生的环境都充满了向往和些许迷茫。为啥说迷茫了,因为有太多的需要准备的事情没有完成,毕业之后的首重就是工作了,权衡良久,决定去学习这几年刚刚火起来的大数据。四个月的课程从这时候开始了,我一次我希望没有也许,所有的一切都必须是一定。孤身一人从学原创 2016-12-22 20:34:50 · 1298 阅读 · 0 评论 -
面试题小记
第一题:byte b1=3,b2=4,b;b=b1+b2;b=3+4;哪句是编译失败的呢?为什么呢?第二题:byte by = 130;有没有问题?有问题如何解决?结果是多少呢?第一题中的b1b2都是byte类型它们进行运算的时候首先转换成int类型,由于b是byte类型,会发生精度损失的错误;第二题中,byte类型的最大值是127,需要对130进行强转,因为原创 2016-12-27 20:27:42 · 1188 阅读 · 0 评论 -
单例模式创建线程池和使用
今天记录下线程池的创建和使用。因为在一个程序中往往都只会使用一个线程池,所以为了代码更加的完善,我们可以使用单例模式来创建线程池,单例模式是一种设计模式,特点是它私有化了构造方法,内部创建了一个需要返回的对象,比如我们创建线程池需要的就是一个线程池,所以返回的是一个ExecutorService的对象。操作线程池一般分为如下几步:1.创建线程池2.创建Runnable对象3.使用su...原创 2017-01-15 15:14:13 · 12968 阅读 · 0 评论 -
关于匿名内部类的一个面试题
今天也不准备记录太多的东西,就想把一个关于匿名内部类的一个面试题分享一下。题目如下:按照要求,补齐代码 interface Inter { void show(); } class Outer { //补齐代码 } class OuterDemo { public static void main(String[] args) { O原创 2017-01-02 21:06:34 · 4322 阅读 · 1 评论 -
简述对面向对象思想的理解
面向对象思想得由来是,起初我们的需求单一或者特别简单时,可以一步一步的去进行操作,并且效率也不是很低,可是随着需求进一步的提高,所需要实现的功能也就越多,我们发现需要面对的每一个步骤很麻烦,所以就开始探索,可不可以将这些步骤和功能再进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰明了了,用得时候直接找到对应的类就行了。面向对象其实就是基于面...原创 2018-01-10 16:38:14 · 7157 阅读 · 1 评论 -
类占用内存空间的分析
刚刚写了对于面向对象思想的理解,回家后想起来今天还有一个很重要的东西没有写,就是对类占用内存空间的分析,之前博客记载了对数组占用内存空间的分析,今天说一下类在内存中的占用情况。可能是因为之前没有真正理解编程语言中占用内存的各种情况,所以现在一旦遇到这种分析,我就想把它记录下来,以防下次不记得的时候可以回顾一下。其实和数组一样,创建一个对象就是采用这样的格式 类名 对象名=n原创 2016-12-28 22:16:44 · 1861 阅读 · 0 评论 -
编写hbase协处理器observer遇到的问题
一、第一个异常信息,配置文件错误java.io.IOException: Aborting flush because server is aborted... at org.apache.hadoop.hbase.regionserver.HRegion.internalPrepareFlushCache(HRegion.java:2269) at org.apach...原创 2018-04-13 18:47:15 · 1184 阅读 · 0 评论 -
Elasticsearch使用java API 查询时间范围内匹配某个关键字并对查询结果内按某个字段进行GroupBy操作
Elasticsearch使用java API 查询时间范围内匹配某个关键字并对查询结果内按某个字段进行GroupBy操作,我们业务需求是求某个手机前缀在某个时间范围内每个imsi对应的总数代码如下: public void searchByPrefix(List<String> prefixList , String fromTime , String endTime){...原创 2018-05-18 14:24:23 · 6053 阅读 · 0 评论 -
ElasticSearch java API - 聚合查询
以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置。index的mapping为:"mappings": { "player": { "properties": { "name": { "index": "not_analyzed", "type": "string"转载 2018-05-18 14:36:23 · 644 阅读 · 0 评论 -
Maven项目引入外部jar包的一种简单方式
mvn install:install-file -Dfile=x-pack-transport-6.2.3.jar -DgroupId=org.elasticsearch.client -DartifactId=x-pack-transport -Dversion=6.2.3 -Dpackaging=jarcmd 进入命令行cd 进入需要引入jar包文件夹执行上述命令即可...原创 2018-11-09 16:00:03 · 439 阅读 · 0 评论 -
ElasticSearch6.2.3 Java Client 连接安装Xpack的ES集群的Bug问题
ES集群安装X-pack之后java client连接报错:Settings settings = Settings.builder() .put("cluster.name", Config.clusterName) .put("client.transport.sniff", true) .p...原创 2018-11-12 17:53:07 · 5878 阅读 · 2 评论 -
JDBC的四个步骤和代码实现
JDBC是从JAVA中连接MySQL数据库的驱动,我们可以使用编程语言来实现它,其实它的实现是固定的,只用按照这个思路和步骤就可以了。实现分为下面四个步骤:1.注册驱动2.获得连接对象3.获取statement对象4.释放资源在我们编程时如果需要操作数据库只需要按照这四个步骤就可以了。我事先在Navicat for MySQL中建了一个store数据库,并且创建原创 2017-02-07 22:57:13 · 6332 阅读 · 0 评论 -
使用java模拟scala函数式编程将函数作为参数传入方法中
需求:将一个list集合传入一个方法中,同时传入一个函数,根据传入函数的不同对集合做不同的处理方法:定义一个接口,并定义一个方法option,测试中调用一个方法传入的参数是list和函数,函数就是该接口的实现类。代码如下:接口package me.season.com;import java.util.ArrayList;public interface O原创 2017-04-26 23:44:27 · 2471 阅读 · 1 评论 -
SSM框架之MyBatis(一)
SSM框架:Spring+SpringMVC+MyBatis今天记录下其中的MyBatis,这是持久化层,说白了就是将原来的JDBC封装抽取出来更加灵活简单易用的框架。MyBatis:yBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11原创 2017-02-24 18:32:29 · 1727 阅读 · 0 评论 -
SSM框架之SpringMVC(1)--Mybatis和SpringMVC的整合
SpringMVC就是一个封装sevlet层的框架,有了这个框架,我们写JAVAEE的程序时,就不再需要自己去写sevlet,由于springmvc提供了一个总的sevlet:dispatcherServlet,只需要写普通的类,普通的方法,加上注解,即可。它属于三大框架的一个,其实它也是Spring后来发展抽取出来的一个模块。如果我们已经用MyBatis对我们的数据库进行了处理,按之前的方法原创 2017-03-05 08:52:46 · 1457 阅读 · 0 评论 -
SSM框架之SpringMVC(2)--web项目的基本架构
web项目基本上可以分成下面基本几层:数据层:存储数据视图层:显示信息,也就是我们平时所看到的网页控制层:处理request和相应response业务层:根据控制层的请求和相应进行编写相应的业务逻辑代码持久化层;将传输的数据持久化到数据库中,或者从数据库中读取数据,删除数据等等操作开发中,我们对一个项目的编写大概就是这五层,为什么要分为五层呢?如果好多代码都写在一起原创 2017-03-05 08:59:27 · 1591 阅读 · 0 评论 -
创建ArrayList出现java.lang.NullPointerException:1空指针
今天在写一个搜索功能时,为了遍历接收一个ArrayList类型的数据,写了下面这串代码List productList = null;结果下面给list赋值的时候就开始不停地报java.lang.NullPointerException:1空指针异常,甚是苦恼,竟然犯了这么LOW的错误。应该大家都知道怎么错的吧。。。List productList = new ArrayList在原创 2017-03-10 19:43:13 · 5051 阅读 · 0 评论 -
Solr搜索技术相对于Lucene和第三方搜索的优点
Solr是基于Solr实现站内搜索扩展性较好并且可以减少程序员的工作量,因为Solr提供了较为完备的搜索引擎解决方案,因此在门户、论坛等系统中常用此方案。提供了完整的集群方案,和索引库优化方案。使用第三方搜素引擎实现。使用百度实现站内搜索。免费的。索引库无法维护。适合一些小的网站。不推荐使用。Lucene可以实现站内搜索。需要大量的开发工作。索引库的维护及优化。查询的优化等问题都需要我原创 2017-03-10 19:55:40 · 3869 阅读 · 0 评论 -
JAVA工程对Solr进行增删改以及封装一个Query对象
今天写了个JAVA工程来对以及部署在tomcat上的Solr项目进行增删改查操作。首先先获取到HttpSolrServer。HttpSolrServer httpSolrServer = new HttpSolrServer("http://localhost:8080/solr/collection1");传进去的参数就是Solr的访问地址。向solr服务器添加一个文档public原创 2017-03-10 20:02:38 · 3982 阅读 · 0 评论 -
使用Split分割字符串出现数组越界异常java.lang.ArrayIndexOutOfBoundsException
昨天使用Split分割字符串出现数组越界异常,总结了一下。出现java.lang.ArrayIndexOutOfBoundsException很可能是在后面去String数组的下标超过了数组的最大长度,所以就出现了数组越界的问题。解決方法:在java.lang包中有String.split()方法,返回是一个数组:1、如果用“.”作为分隔的话,必须是如下写法:String.s原创 2017-03-11 09:23:49 · 7525 阅读 · 0 评论 -
Spring框架开发实现对商品列表的增删改查以及批量删除和批量修改
SpringMVC其实也是Spring的一个模块,只是有时候单独使用它的机会很多,所以习惯性的将它独立出来了,Spring本身是有很多模块的,当我从其官网看它的各个模块的时候就感受它的强大了。使用spring以后,我们可以将NEW这个功能放开交给Spring来处理,那么我们只需要使用注解就可以获得到原本需要NEW的对象。原创 2017-03-11 09:56:38 · 11164 阅读 · 3 评论 -
模拟实现mapreduce中环形缓冲区的读写过程
原型:在mapreduce中,map task调用map处理逻辑将处理后的key和value利用outputcollector.collect()放入一个环形缓冲区中,那么这个缓冲区是有一定大小的,那么如果放入的内容很多很多的时候怎么办呢?其实hadoop里面有这么个机制,在缓冲区达到某一个值或者比率的时候,比如80%,那么hadoop会利用Spiller.spill()将这个80%的数据读出原创 2017-04-07 14:34:37 · 2756 阅读 · 2 评论 -
详解Java序列化与反序列化
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频转载 2017-03-15 09:47:49 · 756 阅读 · 0 评论 -
js中使用jquery获取页面中参数并保存在数组中
在日常开发中总有一些批量处理的需求,比如批量删除,批量修改等等操作。比如批量删除操作,页面中比如checkbox单选框的id=“ids”,那么在提交批量删除时,我们可以在js中用下面这段代码来获得所有已经被选中的id值var cks = $(".table-sort input[name='ids']:checked");var param = [];cks.each(function原创 2017-03-15 20:51:34 · 5084 阅读 · 0 评论 -
使用jquery DataTable和ajax向页面显示数据列表
首先在html页面定义好相关长度的行和列,假设table的id=data-table“”使用jquery DataTable在js中这么写$(function() { $('#data-table').DataTable( { order : [ [ 1, 'desc' ] ], ajax : { url : "/products", type原创 2017-03-15 21:00:09 · 8066 阅读 · 2 评论 -
使用jquery validate和ajax进行表单验证并向后台提交数据
以前我都是在页面中点击submit按钮后提交给某个url一个post数据,使用validate后我们就可以使用html页面和js来异步的向后台提交数据,具体代码如下ps:个人小站点:四川耍耍网重庆耍耍网成都耍耍网川渝耍耍网四川论坛重庆论坛www.cysua.com$("#form-product-add").validate({ rules : { title ...原创 2017-03-15 21:07:42 · 18977 阅读 · 5 评论 -
JAVA设计模式(1)----单例模式及jiangsu密钥分享
这几天计划系统的学习一下设计模式,今天先回顾一下最基本的一种设计模式----单例模式。单例模式:定义是单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。场景:比如创建连接池的时候,显而易见,连接池在这一个项目中只能存在一个,那么我们去创建它的时候就必须保证任何时候项目中只存在这一个连接池。那么我们什么时候去创建...原创 2017-04-04 20:13:39 · 519 阅读 · 0 评论 -
个人学习日常bug总结-log4j:WARN Please initialize the log4j system properly.
log4j:WARN No appenders could be found for logger (com.netease.qa.testng.TestngRetry).log4j:WARN Please initialize the log4j system properly.一直都有上面的警告,因为没有影响程序就没管,知道是因为少了log4j.properties的配置问题,因为是日志...原创 2019-06-26 16:12:32 · 1041 阅读 · 0 评论