
java
Taowiedong
这个作者很懒,什么都没留下…
展开
-
POI按照Word文档指定标题进行拆分
Pom配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x原创 2021-08-30 01:11:52 · 1814 阅读 · 0 评论 -
Java数据结构和算法-数据结构
数据结构简介数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。 常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:数据结构包括:线性结构和非线性结构线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构包括两种不同的存储结构:顺序存储结构和链式存储结构顺序表:顺序存储的线性表称为顺序表...原创 2020-02-29 11:13:22 · 156 阅读 · 0 评论 -
SpringCloud学习笔记-Eureka集群高可用注册中心配置
Eureka 简要介绍Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件Eureka集群高可用配置一般生产的环境中,一定要确保服务的正常使用,不能出现服务宕机的情况;在微服务架构下这种要求更加重要,注册中心作为微服务架构中的重要一环,在设计之初就已经考虑到服务的单点问题;单节点的eureka服务很难保证服务的不间断,如果eureka服务宕机,则会导致整...原创 2019-12-30 23:02:03 · 305 阅读 · 0 评论 -
JavaWeb学习记录-Jsp登录注册功能完整示例
HelloJspJsp入门学习工程,实现jsp注册登录功能代码仓库:https://github.com/taoweidong/HelloJsp环境搭建java: jdk1.8tomcat:apache-tomcat-7.0.42Eclipse:Version: Kepler Service Release 2相关技术数据库操作:commons-dbutils-1.7.j...原创 2019-10-29 17:00:45 · 1321 阅读 · 0 评论 -
Mybatis学习笔记-关联表查询的问题 (一对多关联)
Mybatis中数据表中一对多关系查询的两种解决方案。原创 2017-10-16 20:12:09 · 285 阅读 · 0 评论 -
Mybatis学习笔记-Spring集成Mybatis
前面几篇博文已经把Mybatis的相关知识点进行了记录,写的不好,照着尚硅谷的教程来了一遍,还是有收获的,一些以前没太弄懂的东西,现在已经理清了,有人需要尚硅谷教程视频的可以网上搜索下载,个人感觉还是不错的。本文记录下,Spring集成Mybatis的相关知识点,项目还是在GitHub上,重新创建Module进行记录。原创 2017-10-26 20:19:50 · 315 阅读 · 0 评论 -
多线程学习-CountDownLatch闭锁的分析
概念闭锁是一种同步工具类,可以延迟线程的进度直到闭锁到达终止状态。Latch在英语中就是门栓的意思,所以形象地说闭锁就相当于一扇门,在日常生活中我们都遇到过类似的场景,进入一个场馆前,必须达到一定的条件,比如活动开始前半小时可以入场;如果来早了的话,对不起,以便等着。CountDownLatch 在多线程中也是这样的作用,在闭锁到达结束状态前,这扇门是一直关闭的,不允许任何线程通过,当到达结束...原创 2019-06-12 21:55:10 · 184 阅读 · 0 评论 -
多线程学习-线程池分析
简介提供了一个线程队列,队列中保存着所有等待状态的线程,避免了创建和销毁的额外开销,提高了响应速度。线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。每个 ThreadPoolExecutor 还维护着一些基本的统计数据,如完成的任务数。为了避免重复的创建线程,线程池的出...原创 2019-06-12 22:51:06 · 143 阅读 · 0 评论 -
多线程面试题-多线程循环打印
多线程循环打印题目内容代码实现题目内容编写一个程序,开启 3 个线程,这三个线程的 ID 分别为A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。 如:ABCABCABC…… 依次递归。代码实现代码仓库:https://github.com/taoweidong/Java-Learning.package com.juc;import java...原创 2019-06-10 21:54:43 · 475 阅读 · 0 评论 -
SpringCloud微服务学习笔记
SpringCloud微服务学习笔记项目地址: https://github.com/taoweidong/Micro-service-learning单体架构(Monolithic架构)Monolithic比较适合小项目单体架构优点:开发简单直接,集中式管理, 基本不会重复开发功能都在本地,没有分布式的管理开销和调用开销。单体架构缺点:开发效率低:所有的开发在一个项...原创 2019-06-10 22:20:46 · 1665 阅读 · 0 评论 -
多线程学习-读写锁案例记录
简述ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应用中,大部分情况下对共享数据(如缓存)的访问都是读操作远多于写操作,这时Reentra...原创 2019-06-10 22:48:04 · 286 阅读 · 0 评论 -
多线程学习-线程八锁的分析
所有的非静态同步方法用的都是同一把锁——实例对象本身,也就是说如果一个实例对象的非静态同步方法获取锁后,该实例对象的其他非静态同步方法必须等待获取锁的方法释放锁后才能获取锁,可是别的实例对象的非静态同步方法因为跟该实例对象的非静态同步方法用的是不同的锁,所以毋须等待该实例对象已获取锁的非静态同步方法释放锁就可以获取他们自己的锁。原创 2019-06-11 22:30:07 · 266 阅读 · 0 评论 -
CentOS相关-CentOS安装Java环境
安装jdkJDK 是开发Java程序必须安装的软件,我们查看一下 yum 源里面的 JDK:yum list java*选择适合本机的JDK,并安装:yum install java-1.7.0-openjdk* -y安装完成后,查看是否安装成功:java -version安装tomcatTomcat 是一个应用服务器,是开发和调试 jsp 程序的首选,可以利用它来响应 HT...原创 2019-06-11 22:43:32 · 1238 阅读 · 0 评论 -
SpringMvc问题记录-Controller对于静态变量的访问分析
问题描述在于朋友的讨论中分析到一种场景,即:Controller对于一个类中的静态变量进行访问时,如果第一个接口修改该静态变量的数据,另外一个接口获取该静态变量的数据,那么返回的结果是什么?操作步骤是,先进行修改接口的访问,然后再进行获取接口的访问。实际验证创建一个SpringBoot项目,项目结构如下:## 创建Controller接口package com.taowd.contro...原创 2019-06-25 22:32:21 · 2185 阅读 · 0 评论 -
SpringCloud微服务笔记-服务发现组件Eureka
微服务架构中的注册中心微服务架构对服务注册中心的要求在微服务架构中,由于每一个服务的粒度相对传统SOA来说要小的多,所以服务的数量会成倍增加。这时如果有效管理服务的注册信息就尤为重要。我们对服务注册中心的期望主要有以下几条:简单易用:最好对开发者透明高可用:几台注册中心坏掉不会导致整个服务瘫痪,注册服务整体持续可用避免跨越机房调用:最好调用优先同一个机房的服务以减少网络延迟跨语言:允...原创 2019-06-25 22:44:58 · 701 阅读 · 0 评论 -
Mybatis学习笔记-MyBatis缓存的使用
上边这篇博文对mybatis的缓存机制的讲解比较详细,如果想对mybatis有深入了解想法的可进行阅读,本文对其中的一些深入原理没有过多的分析,只从最简单的如果,如果使用,来进行分析。原创 2017-10-22 16:43:01 · 320 阅读 · 0 评论 -
Mybatis学习笔记-mybatis调用存储过程
本文记录的是Mybatis调用Mysql存储过程的案例,学习源码已经上传至GitHub,有兴趣的童鞋可以下载,相互学习。原创 2017-10-22 15:43:09 · 430 阅读 · 0 评论 -
Eclipse创建Maven项目时报错记录
前言 Maven进行创建项目时可能会遇到一些问题,此文记录了我在日常创建Maven时遇到的一些问题,以及解决方案,希望对遇到相同问题的朋友有所帮助。原创 2017-09-16 16:25:36 · 351 阅读 · 0 评论 -
Socket通讯-C#客户端与Java服务端通讯(发送消息和文件)
项目目的实现C#客户端向Java服务端发送消息以及文件的功能设计思路使用Socket通讯,客户端采用C#开发界面,服务端使用Java开发,最终实现向服务端发送文件和消息的功能。原创 2017-09-16 16:26:34 · 7051 阅读 · 8 评论 -
Socket通讯-Netty框架实现Java通讯(字符串信息的传输)
Netty简介Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。原创 2017-09-16 16:27:40 · 15358 阅读 · 3 评论 -
Quartz定时任务框架
认识QuartzQuartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.3.0。原创 2017-09-16 16:28:42 · 391 阅读 · 0 评论 -
Maven工程使用Git提交过滤文件
Maven创建的工程,使用Git进行提交时,只需要提交最重要的文件,编译文件等文件不需要提交在仓库中创建.gitignore文件编辑.gitignore文件原创 2017-09-16 16:29:50 · 576 阅读 · 0 评论 -
Linux配置SVN 服务端
安装 SVN 服务端安装 Subversion Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。安装:yum install -y subversion原创 2017-09-16 16:30:52 · 231 阅读 · 0 评论 -
Mybatis学习笔记-初识
摘要软件项目最重要的是和数据库打交道,刚开始接触软件开发的时候,觉得最难的就是与数据库连接,操作数据库这块了;后来慢慢学习,学会了使用JDBC连接数据库,对数据库进行操作;但是JDBC每次操作数据库都要写相同代码的比较麻烦,于是就慢慢学习封装JDBC,也使用过dbUtils开源框架,Spring的JdbcTesplate等,但是这些换是需要将Sql写死在代码里面,后期优化Sql时比较麻烦,于是后来接原创 2017-09-24 12:24:59 · 334 阅读 · 0 评论 -
SSM项目整合-整合Spring
整合Spring的步骤因为原来的项目已经使用Maven进行了整合,所以整合Spring是在Maven的基础之上进行的。原创 2017-09-21 19:50:27 · 405 阅读 · 0 评论 -
Mybatis学习笔记-第一个增删改查的程序
在上一篇博客中,使用Maven搭建了Mybatis的开发环境,并进行了一个简单的测试,在本文中将使用上篇博客使用的User测试表继续进行学习,使用Mybatis的增删改查功能。原创 2017-10-09 14:25:39 · 234 阅读 · 0 评论 -
Mybatis学习笔记-解决字段名与实体类属性名不相同的冲突
实际的开发过程中,数据库表字段不一定与实体类中的属性一一对应,这样的话在使用Mybatis开发过程中就必须解决字段名与属性名不一致的冲突,否则Mybatis框架在底层进行数据处理时会出现异常。原创 2017-10-12 08:18:12 · 400 阅读 · 0 评论 -
单例模式的示例代码
一个单例模式的学习Demo原创 2017-10-12 20:09:34 · 768 阅读 · 0 评论 -
Mybatis学习笔记-关联表查询的问题
在前面几篇博客中已经学习了Mybatis的基本使用,可以使用Mybatis进行数据库的CRUD操作,并通过xml和注解的方式进行了实现,也学习了下解决字段名和属性名不一致的问题;在实际开发中数据库表之间可能存在一对多,一对一等的表间关系,此文记录下Mybatis中联表查询的相关问题。原创 2017-10-12 21:11:32 · 356 阅读 · 0 评论 -
Mybatis学习笔记-Mapped Statements collection does not contain value for 解决方法
最近一直在弄springMVC+mybatis的整合,因为接触到这个框架之后发现这个框架确实要比ssh好得多所以我自己也在配置这个框架。但是在配置的过程中我遇到了一些问题,这些问题当我配置完成之后访问我的写的其中一个业务模块就抛出异常:Mapped Statements collection does not contain value for。于是我在网上找了一些资料室关于这转载 2017-10-12 21:16:25 · 11231 阅读 · 0 评论 -
Mybatis学习笔记-动态SQL和模糊查询
上一篇博文把Mybatis关联表查询的一些知识做了一个总结,代码已经发布到Github有兴趣的朋友可以自行下载。平时在做开发的时候,除了多张表查询的问题,还有就是查询时动态拼接SQL以及模糊查询的一些问题,本文就实践和总结一下这方面的问题。原创 2017-10-22 14:31:03 · 428 阅读 · 0 评论 -
Java学习-反射机制的学习
类加载器说明:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。加载就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象。原创 2017-09-16 16:24:05 · 194 阅读 · 0 评论