自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(346)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java基础一

(1)什么是B/S架构?什么是C/S架构 Java 都有那些?B/S(Browser/Server),浏览器/服务器程序C/S(Client/Server),客户端/服务端,桌面应用程序1、 C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在linux下跑的。如qq。

2023-10-19 15:57:07 176

原创 八股文学习四(kafka)

Follower副本成功更新LEO值后,会比较其LEO值,和Leader副本发过来的HW的值,取两者的最小值来更新自己的HW值。数据丢失场景分析:因为整个消息同步过程,存在HW同步的一个延迟,当A的HW为1,B的HW为2值,此时A还没同步到B的HW值时,RelicaA发生宕机,A重启后会根据之前的HW值(保存在本地replication-offset-checkpoint中)进行日志截断,这时消息m2就会丢失,刚好此时ReplicaB发送宕机,ReplicaA被选为了Leader节点;

2023-10-19 09:56:51 639

原创 八股文学习三(jvm+线程池+锁)

竟态条件:多线程在临界区执行,由于代码执行序列不可预知而导致无法预测结果解决方式:(1)阻塞式:sync, Lock(ReentrantLock)(2)非阻塞式:Cas方式(自旋式)

2023-09-12 19:46:05 403

原创 八股文学习二(spring boot + mybatis)

ZooKeeper 的数据模型也具有一个固定的根节点(/),我们可以在根节点下创建子节点,并在子节点下继续创建下一级节点。在事件触发的时候服务端通过节点的路径信息查询相应的 Watch 事件通知给客户端,客户端在接收到通知后,首先查询本地的 ZKWatchManager 获得对应的 Watch 信息处理回调操作。AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

2023-09-12 19:44:41 370

原创 八股文学习一(存储)

对于 OLAP 场景,大多都是对一整行记录进行增删改查操作的,那么行式存储采用以行的行式在磁盘上存储数据就是一个不错的选择。当查询基于需求字段查询和返回结果时,由于这些字段都埋藏在各行数据中,就必须读取每一条完整的行记录,大量磁盘转动寻址的操作使得读取效率大大降低。举个例子,下图为员工信息emp表。数据在磁盘上是以行的形式存储在磁盘上,同一行的数据紧挨着存放在一起。对于 emp 表,要查询部门 dept 为 A 的所有员工的名字。

2023-09-12 19:43:19 253

原创 springboot 过滤器和拦截器配置

1.过滤器(1)ApplicationFilterConfig.java@Componentpublic class ApplicationFilterConfig { @Bean public FilterRegistrationBean filterRegistrationBean(){ FilterRegistrationBean regis...

2018-12-05 20:22:47 709

原创 javax mail发邮件

1. mail配置## mailmail.smtp.host=smtp.XXXXXX.commail.smtp.user=username@XXXXXX.commail.smtp.password=111111mail.smtp.port=465mail.smtp.auth=truemail.smtp.timeout=25000mail.smtp.ssl.enable=tru...

2018-12-05 20:13:03 845

原创 springboot mybatis配置

1.application.properties配置数据库地址#####databaseapp.myproject.db.driverClassName=com.mysql.jdbc.Driverapp.myproject.db.initialSize=10app.myproject.db.maxActive=99app.myproject.db.minIdle=9app.mypr...

2018-12-05 20:03:42 607

原创 springboot+mybatis+thymeleaf架构

一.项目结构图二. 结构剖析(1)数据库+mybatis配置https://blog.csdn.net/xyr05288/article/details/84841133(2)thymeleaf配置spring.thymeleaf.check-template-location=true#spring.thymeleaf.prefix=classpath:/static...

2018-12-05 17:40:14 962 1

原创 mysql和oracle常用操作

数据库一、 ORACLE1.创建表格并插入数据create table demo(  id                NUMBER not null,  org_id            NUMBER not null, email      VARCHAR2(100) not null,  enabled           NUMBER default 1...

2018-12-04 20:16:07 312

转载 分布式锁简单入门以及三种实现方式介绍

很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。...

2018-11-25 18:13:33 240

原创 利用缓存实现session共享

一.使用场景应用部署在A,B两台服务器上时,此时若一用户在A服务器上登录后,登录信息会存放在A服务器上的session中,之后若该用户的请求被分配到B服务器上,会出现请求错误,因为B服务器上没有该用户的登录信息,因此考虑将session放在缓存中,实现session在多个服务器间的共享。(其他方案:将session存放在cookie[不安全],或者数据库[速度慢]中)二. 解决方案将s...

2018-11-25 18:03:58 1126

原创 java web邮件发送

一. 相关配置.properties文件## mailmail.smtp.host=smtp.XXXXX.commail.smtp.user=XXXXXXX@XXXX.commail.smtp.password=XXXXXXmail.smtp.port=465mail.smtp.auth=truemail.smtp.timeout=25000mail.smtp.ssl.e...

2018-11-25 17:06:22 671

原创 java web文件相关操作

一. 文件上传(1)使用FileUtils.copyInputStreamToFile上传,若上传目录不存在,工具类会帮忙创建目录 /** * @Title: roadFileAddUpload * @Description: 新增多个文件上传功能 * @param myfile * @return * @throws Exception */ @Requ...

2018-11-25 16:41:00 360

原创 HttpClient请求URL

1. 编写HttpClientUtil做POST和GET请求import com.alibaba.fastjson.JSON;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.cli...

2018-11-24 21:37:09 669

原创 POI读取Excel

import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.DateUtil;import org.apache.poi.xssf.usermodel.XSSFCell;import org.apache.poi.xssf...

2018-11-24 15:56:59 267

原创 java后端导出Excel

1.jxl导出Excel的几种方法import jxl.CellView;import jxl.SheetSettings;import jxl.Workbook;import jxl.format.Alignment;import jxl.format.Border;import jxl.format.BorderLineStyle;import jxl.format.Colo...

2018-11-24 13:23:30 1194 2

原创 ibatis

1.ibatis插入操作时,允许为null的字段必须设置字段对应的类型。  https://www.cnblogs.com/mqyg/p/4046513.html2. ibatis相关操作(1)oracle批量插入<insert id="hdBatchInsertInheritorAttachment" parameterClass="java.util.List">...

2018-11-24 11:17:41 477

转载 Spring整理系列(11)——@Configuration注解、@Bean注解以及配置自动扫描、bean作用域

1、@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)package com.test.spring.support.configuration;@Configurationpublic class TestConfiguration {    public TestConfi...

2018-10-24 11:30:22 293

转载 Spring Data操作Redis时,发现key值出现 \xac\xed\x00\x05t\x00\tb

最近在研究redis,以及spring data对redis的支持发现了一个奇怪的现象先说现象吧,通过redisTemplate下的opsForHash方法存储hash类型的值,操作成功以后,去redis控制台显示keys * 的时候,发现一个奇怪的现象,插入的hash类型的key前面会有一堆的\xac\xed\x00\x05t\x00\tb 这种东西,见图1看见了吗?就是第二行那一串自己...

2018-10-23 19:08:55 4325

转载 静态方法中不可直接new内部类实例对象问题

结论:静态方法中,是不可以直接new内部类实例对象和引用外部类的成员变量的。原因:1、外部类中的成员变量、方法以及内部类其实三者都在同一个级别上,三者都必须由外部类的实例对象才能调用(举例:当一个方法被调用时,此时肯定已经有了外部类的实例对象。),故而他们三者可以互相引用。2、而静态main方法因为其方法为静态,在类编译时,便生成了该静态方法,故而其运行不依赖于外部类的实例对象,因为内...

2018-10-22 19:19:13 1148

原创 利用反射打印对象的所有属性及调用对象方法

利用java反射输出对象的所有属性,调用对象的方法public class ClassUtil { private static final Logger logger = LoggerFactory.getLogger(ClassUtil.class); public static final boolean isNull(String str){ if(str...

2018-10-22 14:26:05 635

转载 HashMap按键排序和按值排序

转载自:https://www.cnblogs.com/liujinhong/p/6113183.html 今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序。一、简单介绍Map       在讲解Map排序之前,我们先来稍微了解下map。map是键值对的集合接口,它的实现类...

2018-10-17 15:24:08 251

转载 Java内存各部分OOM出现原因及解决办法

原文:https://blog.csdn.net/ls5718/article/details/52411211?utm_source=copy 一,jvm内存区域1,  程序计数器一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器。2, java栈与程序计数器一样,java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同。通常存放基本数据类型,对象引用(一个指向对...

2018-10-17 12:24:37 553

原创 mybatis之嵌套查询association和collection

Mybatis association是用于一对一和多对一,而collection是用于一对多的关系一. Association1. 嵌套查询实现association一对一public class Card implements Serializable{ private Integer id; private String code;//省略set和get方法.}pub...

2018-09-15 23:03:33 1933

原创 由jetty6升级为jetty9后,出现的问题

 由jetty6升级为jetty9后,出现的问题:1.升级jetty9 运行出现两个RequestMappingHandlerAdapter beanorg.springframework.beans.factory.UnsatisfiedDependencyException:Error creating bean 'org.springframework.web.servlet...

2018-09-05 19:25:28 2299

转载 JS基础类型的属性赋值问题

参考文章: https://blog.csdn.net/yiifaa/article/details/54341112在Javascript中,变量的类型一旦声明为基础类型,如果再为基础类型的变量添加属性,则其新建的属性不可存储,会自动销毁,基本流程如下: 1. 首先将基础类型临时转换为Object类型,并备份好基础类型的值; 2. 为Object类型添加属性; 3. 属性赋值完成后,再...

2018-08-28 10:39:08 561

转载 java动态代理实现与原理详细分析

转自:https://www.cnblogs.com/gonjan-blog/p/6685611.htmljava动态代理实现与原理详细分析关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 一、代理模式   代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主...

2018-08-07 19:01:16 160

转载 jstl fn:replace替换换行符

转自:https://blog.csdn.net/goddessming/article/details/51678928近日在使用textarea时,输入了回车,为了将textarea的内容作为一行显示,,需要采用fn:replace函数进行处理但是测试很多次都不可以,1. 使用 ${fn: replace(source,'\n','')}     这样会提示错误,如果换成\\n...

2018-08-06 18:58:32 1770

转载 POST方式导出Excel

1.方法一:一般情况下,我们通过ajax获取数据都是采用get方式获取,但如果ajax的请求url过长时,get方式由于浏览器对url长度不同会导致无法正常获取数据,尤其是IE。这时候,我们需要通过post请求的方式获取数据,而如果我们需要通过post方式导出Excel表格,则需要通过表单提交的方式导出Excel。function postExcelFile(params, url)...

2018-07-31 19:00:50 7840

转载 oracle字符串常用操作

oracle操作字符串:拼接、替换、截取、查找、长度、判断1、拼接字符串1)可以使用“||”来拼接字符串select '拼接'||'字符串' as str from dual 2)通过concat()函数实现select concat('拼接', '字符串') as str from dual 注:oracle的concat函数只支持两个参数的方法,即只能拼接两个参数,如要拼接多个参数则嵌套使用c...

2018-07-12 12:07:29 247

原创 jquery插件--分页器

1. 分页器效果:2.js代码//定义分页器(function($){ $.fn.extend({ cxPagination: function (options) { var obj = this; if (!options) { console.error("pagination opti...

2018-07-05 18:48:26 1064

转载 git commit-m 与 git commit -a -m

转自:https://segmentfault.com/q/1010000005900988字面解释的话,git commit -m用于提交暂存区的文件;git commit -am用于提交跟踪过的文件要理解它们的区别,首先要明白git的文件状态变化周期,如下图所示工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工...

2018-06-27 15:15:05 45813 2

原创 GIT常用命令

一. git相关知识https://www.atatech.org/articles/28121官网https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E4%BD%95%E8%B0%93%E5%88%86%E6%94%AF阮一峰http://www.ruanyifeng.com/blog/2014/06/git_remote.h...

2018-06-27 15:13:57 153

原创 从request中获取文件流的两种方式

方法一: 从HttpServletRequest中获取文件信息参考文档:https://blog.csdn.net/java_newstar/article/details/78053891Collection<Part> parts = req.getParts();for (Iterator<Part> iterator = parts.iterator(); ite...

2018-06-14 14:23:51 49646 4

转载 react知识点(待完善)

一. react onclick函数绑定参考:https://segmentfault.com/q/1010000010918131 renderSquare(i) { return ( <Square value={this.state.squares[i]} onClick={() => this.handleClick(i)}...

2018-05-12 20:36:49 225

原创 springMVC ModelAttribute使用说明

1. ModelAttribute 绑定对象中的集合属性spring提供简单的对象绑定,当然支持集合对象绑定了。不过你要定义一个对象,属性有一个集合,集合里存放Person对象。比如public class PersonList { private List<Person> person; public List<Person> get...

2018-05-12 20:24:59 507

转载 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理

参考文章:https://segmentfault.com/a/1190000012925872文章比较长,恶补了平常工作中会忽视的原理性知识。现将觉得比较重要的几个点梳理下来,强化记忆:一. 浏览器有哪些进程知道了浏览器是多进程后,再来看看它到底包含哪些进程:(为了简化理解,仅列举主要进程)Browser进程:浏览器的主进程(负责协调、主控),只有一个。作用有负责浏览器界面显示,与用户交互。如前...

2018-04-22 20:59:25 325

转载 springboot+thymeleaf对静态资源环境进行缓存

参考文章:http://www.jb51.net/article/135626.htmhttps://docs.spring.io/spring-boot/docs/1.5.4.RELEASE/reference/htmlsingle/ 在appplication.properties中添加配置:#20180420 add spring boot static resoources cache ...

2018-04-20 18:57:26 3122

转载 HTTP缓存深入实践

转载自:https://www.jianshu.com/p/32733a356acf网络特有的延迟以及数据传输的成本,制约互联网快速获取Web资源。为此,HTTP协议引入缓存以空间换时间,使浏览器缓存和重用已获取的资源,解决网络延迟和数据传输成本高的问题,提升访问体验。随着HTTP协议1.0->1.1->2的演进,关于缓存控制的部分有一些变化。但我觉着,在开发Web服务时,首先要关注请...

2018-04-20 13:27:19 600

VC++图像处理

简单易用 作者刘涛 VC++数字图像处理讲座

2012-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除