----Java
该栏目为Java技术方面的分享
互联网极客
执行力+团队合作+思考力=成功
展开
-
springboot集成kafka(实现producer和consumer)
本文简单介绍下如何在springboot中集成kafka收发消息1、先安装依赖的jar包: <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <versio...原创 2019-05-22 19:38:22 · 5791 阅读 · 7 评论 -
Ajax解决聊天室问题
Ajax的核心是JavaScript对象的XMLHttpRequest。它提供了异步发送请求的能力。简而言之,使用XMLHttpRequest,可以通过JavaScript向服务器发送请求,并能够处理服务器响应,避免阻塞用户的动作。通过使用XMLHttpRequest对象,浏览器通过客户端脚本与服务器交换数据,而Web页面无须频繁的重新加载,Web页面的内容也由客户端脚本动态更新。原创 2015-05-18 10:18:41 · 594 阅读 · 0 评论 -
服务器编码
jsp涉及到的编码的流程 jsp要经过3次的“编码”,第1阶段会用pageEncoding,第2阶段会用utf-8至utf-8,第3阶段就是由Tomcat出来的网页,用的是contentType。第1阶段:是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成同一的UTF-8Java 源码(即.java)第2阶段:是由JAV转载 2015-07-23 15:10:44 · 907 阅读 · 0 评论 -
JVM的相关知识整理和学习
JVM虚拟机,是一种规范。在操作系统上建立的虚拟机,自己定义了一套统一的数据结构和操作指令,把同一套语言翻译给各大主流的操作系统,实现了跨平台性,可以说JVM是Java的核心,是Java可以一次编译到处运行的本质所在。一、JVM的组成和运行原理:JVM虽然符合冯诺依曼的计算机设计理念,但是他并不是实体计算机,所以他的组成也不是什么存储器、控制器、运算器,输入输出设备。在我看来,JVM放在运转载 2015-08-07 16:21:01 · 1318 阅读 · 0 评论 -
内存泄漏与内存溢出的区别
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会转载 2015-06-29 11:13:26 · 518 阅读 · 0 评论 -
ArrayList的初始容量的问题
ArrayList的初始容量的问题原创 2015-06-07 08:57:45 · 5307 阅读 · 0 评论 -
系统遇到System.exit(0);还会执行finally块么?
我们都知道finally块是异常代码块中,必须要被执行的代码,但有一种情况例外,下面看一段程序,尝试打开了一个磁盘输出流,然后使用finally块来关闭这个磁盘输出流package chapter8;import java.io.FileOutputStream;import java.io.IOException;public class ExitFinally { public原创 2015-06-25 14:34:28 · 9908 阅读 · 0 评论 -
Java中使用代理访问网络及验证
当我在使用Java.net包的API时,由于公司的网络设置了都是通过代理访问网络,因此每次都是遇到connection timeout的情况针对这种情况,我查看了资料,和JDK的API,发现使用java.net.Proxy类可以设置通过代理访问外网,但访问外网的过程中必须通过验证才行,通过验证使用的类是Authenticator类import java.net.Authenticator;原创 2015-06-19 13:59:09 · 1831 阅读 · 0 评论 -
子类、父类、静态成员变量,构造函数的执行顺序
子类、父类、静态成员变量,构造函数的执行顺序原创 2015-04-17 11:24:09 · 3073 阅读 · 0 评论 -
访问子类对象的实例变量
子类的方法可以访问父类的实例变量,这是因为子类继承父类就会获得父类的成员变量和方法;但父类的方法不能访问子类的实例变量,因为父类根本无从知道被哪个子类继承,它的子类会增加怎样的成员变量。但是在极端的情况下,可能出现父类访问子类变量的情况。如下面的例子:class Base{ private int i=2; public Base(){ this.display(); }转载 2015-04-28 14:01:25 · 769 阅读 · 0 评论 -
父子实例的内存控制
继承成员变量和继承方法的区别几乎所有的Java书籍、资料都会介绍:当子类继承父类时,子类会获得父类中定义的成员变量和方法。在访问权限允许的情况下,子类可以直接访问父类中定义的成员变量和方法。这种介绍其实稍显笼统,因为Java继承中对成员变量和方法的处理是不同的,示例如下:class Base{ int count=2; public void display(){ System.o转载 2015-04-29 15:27:55 · 511 阅读 · 0 评论 -
Java中执行“宏替换”的变量
对于一个final变量,不管它是类变量、实例变量,还是局部变量,只要定义该变量时使用了final修饰符修饰,并在定义该final类变量时指定了初始值,而且该初始值可以在编译时就被确定下来,那么这个final变量本质上已经不再是变量,而是相当于一个直接量。public class FinalTest{ public static void main(String[] args){ fi转载 2015-04-29 20:16:27 · 7268 阅读 · 0 评论 -
Java IO详解
Java IO框架图:这是Java io比较基本的一些处理流,除此之外我们还会提到一些比较深入的基本IO处理类,比如console类,Streamtokenzier ,Externalizatable接口,Serializable接口等等一些高级用法及其原理。1、Java IO的开始:文件1)我们主要讲的是流,流的本质也是对文件的处理,我们遵循渐进一步一步从文件到流去。2)转载 2015-04-21 23:00:28 · 658 阅读 · 0 评论 -
Struts2的配置,以及遇到的问题
Struts2配置,以及遇到的问题原创 2015-04-17 19:55:36 · 653 阅读 · 0 评论 -
Java多线程面试题
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。Java多线程中join方法的理解2)在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户转载 2015-07-07 20:09:01 · 1180 阅读 · 0 评论 -
分布式全局唯一ID生成策略
为何分布式系统需要用到ID生成系统在复杂的分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的吉荣、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据库的分库分表后需要一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID系统是非常有必要的。ID生成系统的需求:...转载 2019-05-25 10:08:31 · 309 阅读 · 0 评论 -
springboot集成kafka
上一期写了篇博客:springboot集成kafka,再测高并发的时候入库操作有些问题这篇用springboot集成的kafka进行操作,验证了2000个并发没发现任何问题1、添加配置文件:spring: kafka: bootstrap-servers: 127.0.0.1:9092 producer: key-serializer: org.a...原创 2019-05-24 19:39:11 · 699 阅读 · 0 评论 -
解决nginx使用proxy_pass反向代理时,session丢失的问题
最近做项目时,多个tomcat部署,其中一个管用,另一个不管用。排查了具体问题发现在nginx配制的多个manager时,有一个改了名字,导致session丢失的问题。在测试Nginx作为反向代理到Tomcat应用时,session丢失的问题。经过一系列查看官方文档和测试,发现如下:1、如果只是host、端口转换,则session不会丢失。例如: location /testwx...原创 2018-12-17 14:42:15 · 1550 阅读 · 0 评论 -
Java中创建对象的5种方式
作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码使用new关键字 调用构造函数 使用class类的newInstance()方法 调用构造函数 使用Constructor类的newInstance()方...原创 2018-12-20 19:20:44 · 189 阅读 · 0 评论 -
alibaba/druid 常见问题
时间紧,转发了个文章供自己用!https://blog.csdn.net/codepython/article/details/42350945转载 2018-11-16 17:03:21 · 726 阅读 · 0 评论 -
利用动态反射将map对应字段转化为Bean对象字段
很多情况下,map对应的属性字段需要转化为model类的属性字段,前几天工作中需要将四五十个对应字段转化为bean对象的字段,如果单纯的考get/set进行重复代码的封装,太枯燥又繁琐,现使用动态反射的方式对所有字段进行批量转化。但前提是两者的字段名得保持一致才行。献上工具类代码:/** * 将Map对象通过反射机制转换成Bean对象 * * @...原创 2018-06-27 15:06:18 · 2964 阅读 · 0 评论 -
java生成二维码,带logo
随着微信在市场上的占有率不对升高,二维码开始逐渐进入人们的视野,扫码支付,扫码关注,扫码打开连接...究竟二维码是个什么东西我就不在这里赘述了,关于这方面大家可以去上搜索引擎我在这里就简单介绍一下一个Java的生成二维码工具,是Google提供的,zxing源码:package com.king.utils;import com.google.zxing.*;import com.googl...原创 2018-06-07 11:42:29 · 526 阅读 · 1 评论 -
myBatis实现读写数据库
一、MyBatis: MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 二、准备: 数据库结构: 使用m原创 2017-12-25 10:01:25 · 4273 阅读 · 1 评论 -
servlet+mvc实现分页显示列表页
实现分页显示有好多种方法,有客户端显示的用JS,有服务端分页的。在此我对服务端的分页功能进行叙述 先展示下我的项目的目录结构: 标准的MVC模式,现在我的分页步骤是从jsp调用servlet,通过servlet调用对应的service类,service类去调用dao类 1、先看下页面中的调用方式:<div>当前${requestScope.pageBean.currentPage}/${r原创 2017-12-15 15:13:58 · 1242 阅读 · 0 评论 -
图片存储到数据库中,通过Servlet+jsp进行图片的存储及展示
因项目需要,图片类型的文件无法存储到本地磁盘中,必须以二进制的格式存储到数据库中。以这样的方式进行读写操作时候,就遇到各种问题,下面分别进行问题展示,并列出解决方案: 问题一、图片在数据库中的格式问题: 看了众多的参考资料,最终以longblob的格式存储图片,我采用的数据库是mysql数据库,下面展示图片的存储操作: select * from sensitiveInfo.senInfo C原创 2017-12-13 14:33:04 · 4841 阅读 · 5 评论 -
JVM内存管理和JVM垃圾回收机制
首先来看以下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成的,结构图如下所示JVM内存管理和JVM垃圾回收JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代被进一步划分为Eden和Survivor区,最后Survivor由转载 2015-07-07 14:28:51 · 759 阅读 · 0 评论 -
jvm内存调优
1)堆运行时数据区域,所有类实例和数组的内存均从此处分配。Java虚拟机启动时创建。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。堆由两部分组成:其中eden+fromspace+toSpace也叫年轻代(young),old space叫旧生代。其中还有S1,S0(在JDK的自带工具输出中会看到),分别指的是Servivor space,存放每次垃圾回收后存活的对象。O转载 2015-07-07 16:05:44 · 604 阅读 · 0 评论 -
Java笔试题
Java笔试题原创 2015-04-17 10:41:19 · 1907 阅读 · 0 评论 -
Java集合框架知识总结
1、综述:所有集合类都位于java.util包下,集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5后,这种状态得到了改进:可以使用泛型来限制集合里的元素的类型,并让集合记住所有的集合元素的类型。Java的集合类主要有两个接口派生而出:Col转载 2015-04-21 10:08:41 · 983 阅读 · 0 评论 -
Java多线程同步的几种方式
Java多线程同步的几种方式原创 2015-04-02 20:53:30 · 10388 阅读 · 0 评论 -
ArrayList、Vector和LinkedList区别
ArrayList、Vector和LinkedList区别原创 2015-04-01 17:56:05 · 580 阅读 · 0 评论 -
Java中String、StringBuffer、StringBuilder、StringTokenizer有什么区别
Java中String、StringBuffer、StringBuilder、StringTokenizer有什么区别原创 2015-03-30 22:51:10 · 1299 阅读 · 0 评论 -
强制类型转换的注意事项有哪些
强制类型转换的注意事项有哪些原创 2015-03-29 23:05:29 · 1614 阅读 · 0 评论 -
Java 中按值传递和引用传递的区别
Java 中按值传递和引用传递的区别原创 2015-03-29 22:44:59 · 1049 阅读 · 0 评论 -
switch一道面试题
switch一道面试题原创 2015-03-29 10:04:49 · 1680 阅读 · 0 评论 -
Java中static关键字的作用
Java中static关键字的作用原创 2015-03-29 08:45:56 · 50587 阅读 · 5 评论 -
Java中this与super考题
Java中this与super考题原创 2015-03-28 23:07:20 · 1176 阅读 · 0 评论 -
Java获取父类的类名
Java获取父类的类名原创 2015-03-28 22:55:40 · 10254 阅读 · 0 评论 -
Java多态实现机制
Java多态实现机制原创 2015-03-28 21:51:58 · 868 阅读 · 0 评论 -
Java按值传递和引用传递
Java按值传递和引用传递原创 2015-03-28 18:07:57 · 581 阅读 · 0 评论