随笔分类 - Java
摘要:简单的使用连接池 // redis连接池的配置首先要创建一个连接池配置对象 JedisPoolConfig config = new JedisPoolConfig(); // 创建Jedis连接池对象 JedisPool jedisPool = new JedisPool(config, "loc
阅读全文
摘要:简介 spring boot 已经对发送邮件做了做封装,只需引入spring boot starter mail 即可快速的在springboot项目中实现发送邮件的功能。如果想要发送html文本的邮件,利用freemarker作为模板引擎来实现。下面具体的介绍springboot,freemark
阅读全文
摘要:1.介绍 之前搭建SpringMvc项目要配置一系列的配置文件,比如web.xml,applicationContext.xml,dispatcher.xml。Spring 3.X之后推出了基于JavaConfig方式以及注解的形式的配置。在一定程度上简化了Spring项目的配置。近几年特别火的Sp
阅读全文
摘要:1.介绍 今天做了一个功能,生成订单流水号,当然这其实这并不是一个很难的功能,最直接的方式就是日期+主机Id+随机字符串来拼接一个流水号。但是今天有个我认为比较优雅方式来实现。我要介绍是日期+ long(商家Id+订单类型+主机ID+AtomicInteger),什么意思呢,前面的日期保持不变,后面
阅读全文
摘要:介绍 最近在工作中做个新项目,后端选用Spring Boot,前端选用Vue技术。众所周知现在开发都是前后端分离,本文就将介绍一种前后端分离方式。 常规的开发方式 采用Spring Boot 开发项目开发项目常规的方式其实很简单,无非还是采用原来Spring Mvc那一套,建控制器(Controll
阅读全文
摘要:一、Servlet类图 Servlet接口定义了几个关键的方法: init(),初始化 servlet 对象,完成一些初始化工作。它是由 servlet 容器控制的,该方法只能被调用一次 service(),接受客户端请求对象,执行业务操作,利用响应对象响应客户端请求。 destroy(),当容器监
阅读全文
摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,
阅读全文
摘要:一.Tomcat 总体结构 1.Server(服务器)是Tomcat构成的顶级构成元素,所有一切均包含在Server中,Server的实现类StandardServer可以包含一个到多个Services。 2.次顶级元素Service的实现类为StandardService调用了容器(Contain
阅读全文
摘要:WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。 ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方
阅读全文
摘要:该系列 记录下,深入 学习 Java Web 过程。 1.Tomcat总体结构 2.Tomcat 启动流程 3.ServletContext详解 4.Servlet详解
阅读全文
摘要:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。首先我们从最
阅读全文
摘要:遇到一个场景,需要将数据库查询的结果导入到另外一个数据库中,给我的第一感受是,写程序,从数据库A中获取到数据,在插入到数据库B中。 但是Idea 可以直接复制查询结果,然后粘贴生成insert语句。 演示如下:
阅读全文
摘要:鉴于国内的网络环境,从默认 Maven 库下载 jar 包是非常的痛苦。 速度慢就不说了,还经常是下不下来,然后一运行就是各种 ClassNotFoundException,然后你得找到残留文件删掉重新下,或者下载到本地然后通过命令添加到本地库中。当然土豪公司自建仓库的就另当别论啦。 今天就给大家安
阅读全文
摘要:java 使用volatile实现线程数据的共享 直接上代码看效果: 效果如下: 如果不加volatile while循环不会停止,因为即使在主线程中setRunning(false) 在子线程中isRunning仍然是true。 在java中,子线程的执行的时候会在内存中划出一个区域,特意把子线程
阅读全文
摘要:java 线程通信使用wait notify 配合synchronized 当线程执行wait()时,会把当前的锁释放,然后让出CPU,进入等待状态。当执行notify/notifyAll方法时,会唤醒一个处于等待该 对象锁 的线程,然后继续往下执行,直到执行完退出对象锁锁住的区域(synchron
阅读全文

浙公网安备 33010602011771号