Java开发
Java后台开发
Batac_
中国北方小镇的田园村落
展开
-
数据库之mongodb
mongodb:非关系数据库原创 2019-08-06 10:19:39 · 110 阅读 · 0 评论 -
Redis单机部署与安装
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map...原创 2018-10-30 15:07:05 · 522 阅读 · 0 评论 -
Tomcat安装与部署
1.下载最新的Tomcat包apache-tomcat-7.0.91.tar.gz;2.从本地上传到服务器:scp /Users/Batac/Desktop/apache-tomcat-7.0.91.tar.gz root@192.168.0.153:/root/java/apache-tomcat-7.0.91.tar.gz;//需要输入服务器密码;3.在服务器解压apache-tomc...原创 2018-10-30 14:22:44 · 1748 阅读 · 0 评论 -
MYSQL安装与部署
1.简单命令:# rpm -qa | grep mysql // 查看该操作系统上是否已经安装了mysql数据库# rpm -e mysql // 普通删除模式# rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除# yum list | grep mysql# yum instal...原创 2018-10-30 13:52:02 · 200 阅读 · 0 评论 -
手动实现动态数组二(java)
package com.batac;/** * Author: Batac * 动态数组: * 数组: 是一种连续存储结构的线性表; * 优点: 查询速度快, 根据地址直接查找到元素(寻址法); * 缺点: 插入与删减元素速度差, 最差需要移动其他所有元素 */public class ArrayList<E> { //数组 private E[]...原创 2020-04-18 21:39:18 · 226 阅读 · 0 评论 -
手动实现动态数组(java)
数据结构:线性表, 树, 图, 集合等; 线性表: 是包含n个相同元素的有限序列; 数组是一种:内存连续的线性表; 动态数组: 动态的扩容与缩容, (缩容没有实现);//方法列表:public int sise();public boolean isEmpty();public boolean contains(int element);public void add(int e...原创 2020-04-16 23:50:57 · 234 阅读 · 0 评论 -
五.快速排序
static public void quitSort(int biao,List<Integer> list,int beginIndex,int endIndex) { int pivot;//没记记录中间的值得索引 if (beginIndex<endIndex) { pivot = partition(biao, list, beginIndex, end...原创 2019-06-02 15:50:13 · 175 阅读 · 0 评论 -
四.希尔排序
说明:希尔排序是在直接插入排序的基础上进行优化; 分块进行比较,时间复杂度突破O(n^2); 希尔排序进行分组后,每组进行插入排序,分组值有大变小;原创 2019-05-20 15:18:59 · 223 阅读 · 0 评论 -
三.直接插入排序
直接插入排序实现代码:说明:直接插入排序主要是设置哨兵; 每次与前一位进行比较,如果小则,更换哨兵,进行移位比较; 哨兵还有一个重要作用就是:防止移位比较的时候溢出; 一 /** * 时间更少 * @param list */ static public void straightInsertionSort2(List<Integer> list) { ...原创 2019-05-20 15:16:50 · 223 阅读 · 0 评论 -
二.简单选择排序
思想:每次找出最小值,记录下标;简单选择排序代码实现: static public void simpleSelectionSort(List<Integer>list) { int min = 0; for(int i=0;i < list.size()-1;i++){ for(int j = i+1;j<list.size();j++){...原创 2019-05-20 15:11:31 · 324 阅读 · 0 评论 -
一.冒泡排序
冒泡排序方法代码实现://冒泡排序主要实现一, static public void buddleSort(List<Integer> list) { for(int i=0;i<list.size();i++){ for(int j = i+1;j < list.size();j++){ if (list.get(i) > list....原创 2019-05-20 15:09:26 · 143 阅读 · 0 评论 -
数据结构之环形链表
public boolean hasCycle(ListNode head) { if (head == null || head.next == null)return false; ListNode lowNode = head;//使用快慢指针的方法 ListNode fastNode = head.next.next; ...原创 2019-05-04 17:40:17 · 358 阅读 · 0 评论 -
数据结构之反转链表
public ListNode reverseList(ListNode head) { if (head == null || head.next == null) return head; ListNode newHead = null;//创建新链表 while(head != null){ ListNode oldn...原创 2019-05-04 17:27:22 · 345 阅读 · 0 评论 -
数据结构之动态数组
Batac联系方式:1763781716@qq.com几种数据结构:集合,线性结构,树形结构,图形结构:说明:线性表的顺序存储结构:数组 数组:一次性申请一定量的内存空间; 动态数组:不断的扩容,重新申请更大的内存空间; 实现动态数组:public class ArrayList<E> {/*** 元素个数*/private int siz...原创 2019-04-26 17:32:06 · 318 阅读 · 0 评论 -
数据结构之线性表
数据结构分为逻辑结构和物理结构:逻辑结构分为集合结构、线性结构、树形结构和图形结构四大类。 物理结构分为顺序存储结构和链式存储结构线性表是线性结构的一种,那么线性表当然也有物理结构,也就是说,线性表有两种,分别是顺序结构的线性表(叫做顺序表)和链式结构的线性表(叫做链表)。线性表的顺序存储结构顺序存储定义:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据...原创 2019-04-17 11:27:12 · 227 阅读 · 0 评论 -
Session共享(SpringBoot)
一般HttpSession是通过Servlet容器创建并进行管理的, 创建成功之后都是保存在内存中。如果是项目是搭建的集群, 则来自于同一用户的http请求有可能备份发到不同的实例中, 如何保证各个实例之间的Session同步共享, SpringBoot提供了自动化的Session共享配置, 主要是结合Redis解决这个问题。使用Redis解决Session共享问题的原理非常简单, 就是把原本存储在不同服务器上的Session拿出来放在一个独立的服务器上,如图: 当一个请...原创 2020-06-04 15:53:46 · 298 阅读 · 0 评论 -
MyBatis整合(SpringBoot)
导入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency>原创 2020-06-03 11:17:29 · 268 阅读 · 0 评论 -
JdbcTemplate整合(SpringBoot)
第一步:导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId&g原创 2020-06-03 10:27:49 · 184 阅读 · 0 评论 -
整合Servlet、Filter、Listener(SpringBoot)
一般情况下, 使用Spring, SpringMVC 这些框架之后, 基本上就告别Servlet、Filter、Listener了, 但是有时候整合一些第三方框架时, 可能还是不得不使用Servlet、Filter、Listener。整合Servlet使用@WebServlet("/my")注解@WebServlet("/my")public class MyServlet extends HttpServlet { @Override protected void doGet原创 2020-06-02 20:43:45 · 201 阅读 · 0 评论 -
注册拦截器(SpringBoot)
SpringMVC 中提供了AOP风格的拦截器, 拥有更加精细的拦截处理能力。 Spring Boot中拦截器的注册则更加方便, 步骤:创建SpringBoot项目, 添加spring-boot-starter-web依赖。 创建拦截器实现HandleInterceptor接口, 代码如下: /** * 全局拦截器 */public class MyInterceptor implements HandlerInterceptor { @Override public原创 2020-06-02 19:44:59 · 758 阅读 · 0 评论 -
SpringBoot配置HTTPS与HTTP同时使用
生成证书keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore Batac.p12 -validity 365放在项目根目录下配置文件server.ssl.key-store=Batac.p12server.ssl.key-alias=tomcathttpsserver.ssl.key-store-password=123456创建接口 @RestControllerpublic .原创 2020-06-01 18:08:02 · 281 阅读 · 0 评论 -
(Redis)缓存处理的几个问题
目录目录问题一: 缓存穿透问题二: 缓存击穿问题三: 缓存雪崩测试代码问题一: 缓存穿透说明: 利用redis与mysql数据库的机制(redis中一旦不存在查询的ksy, 就访问mysql), 直接绕过缓存, 访问myslq, 而制造db的请求压力;解决: 将从mysql请求出的空存入redis一定时间;问题二: 缓存击穿说明: 某一热点key在高并发访问...原创 2020-04-09 11:57:03 · 519 阅读 · 0 评论 -
整合Redis(SpringBoot)
整合步骤:第一步:添加依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId></dependency>第二步:添加全局配置文件 private JedisPool jedis...原创 2020-04-08 17:11:42 · 259 阅读 · 0 评论 -
Nginx简单配置HTTPS.
server { listen 443 ssl; server_name www.batac.com batac.com; #证书 ssl_certificate /root/ssl_nginx/1_www.batac.com_bundle.crt; ssl_certificate_key /...原创 2020-04-05 22:30:32 · 188 阅读 · 0 评论 -
Mac安装FastDFS的说明
说明: Mac环境比较完备, 很多依赖都已经具备;1. 在mac机器上, 如果文件路径建在桌面, 则可能由于权限问题, 无法访问, 注意查看nginx日志;2.几个配置文件的base_path尽量保持一致;3.整合nginx与fastdfs-nginx-module./configure --prefix=/usr/local/nginx --pid-path=/var/run/...原创 2020-04-05 22:20:52 · 278 阅读 · 0 评论 -
Mac 安装FastDFS说明
说明:暂时使用几台mac作为服务器, 和linux上边安装配置基本一样, 由于mac环境已经安装了依赖, 则可以直接安装FastDFS对应的包;首先我们需要下载相对应的安装包:libfastcommon FastDFS 1.安装libfastcommon 我们进入到libfastcommon-master目录中执行./make.sh和sudo ./make.sh instal...原创 2020-03-31 14:53:49 · 679 阅读 · 0 评论 -
SpringBoot项目集成Dubbo
一.提供者配置dubbo:1.导入依赖<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</version&g...原创 2020-03-21 20:16:34 · 539 阅读 · 0 评论 -
Dubbo环境搭建说明
一:搭建dubbo1.下载dubbo文件->dubbo-adminhttps://github.com/apache/dubbo.git2.在项目的sources下可以修改application.propertie文件, 对项目进行配置server.port=7001 //访问端口号spring.velocity.cache=false spring.velocity...原创 2020-03-20 17:00:28 · 227 阅读 · 0 评论 -
图片上传之前端(H5)实现
前序:因为只是为了实现单个功能,页面很简单;上传完图片后效果:代码实现如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, init...原创 2019-12-27 16:31:24 · 780 阅读 · 0 评论 -
图片上传之后台(java-springboot)实现
前序:服务端使用fastDFS文件管理系统;1.service服务层实现代码:@Servicepublic class UploadPhotoServiceImpl implements UploadPhotoService { private static final String FASTDFS_CLIENT_PROPERTIES = "fdfs_client.proper...原创 2019-12-27 16:27:40 · 896 阅读 · 0 评论 -
centos 7 安装与配置FastDFS
一. 安装一些工具和依赖yum install git (安装git) yum -y install gcc (安装gcc)二.FastDFS安装与配置1.cd /usr/local/git clone https://github.com/happyfish100/libfastcommon.gitcd libfastcommon/./make.sh./...原创 2019-12-25 11:31:13 · 366 阅读 · 1 评论 -
MYSQL之简单语句查询一
使用命令行方式操作mysql数据库:登录数据库:mysql -uroot -p 创建数据库:create database python_test charset=utf-8;查看创建的数据库:show databases;使用刚才创建的数据库:use python_test;查询当前使用的数据库:select database();创建表:create ...原创 2019-08-12 14:48:50 · 133 阅读 · 0 评论 -
Redis之二
简介:redis 本质上是一个高性能的 Key,Value 数据库;支持存储的类型相对更多;(String、list、set、hash);ps : 查询频率高,且查询的是相同的内容,就用 redis 做缓存;典型的非关系型数据库,不用写sql语句的数据库;(在高并发的时候对关系型数据库起到一个很好的补充作用)默认端口redis 的默认端口是 6379安装 redis官...原创 2019-08-08 16:48:50 · 130 阅读 · 0 评论 -
1-Hello SpringMVC
1.创建项目2.配置Tomcat3.说明: 项目创建完成后,会生成一些必要文件修改后:添加<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapp...原创 2019-03-15 11:51:10 · 219 阅读 · 0 评论 -
MYSQL之初级认识
2.数据库入门 2. 1引入数据保存到内存:优点:1)读写非常快 缺点:...原创 2019-03-07 20:07:01 · 232 阅读 · 0 评论 -
Mybatis 一对多关联查询
1.配置文件<resultMap type="user" id="user_order_map"><id property="id" column="id" /><result property="username" column="username"/><result pro原创 2019-02-14 14:13:00 · 179 阅读 · 0 评论 -
JDBC笔记
JAVA Database Connectivity java 数据库连接为什么会出现JDBCSUN公司提供的一种数据库访问规则、规范, 由于数据库种类较多,并且java语言使用比较广泛,sun公司就提供了一种规范,让其他的数据库提供商去实现底层的访问规则。 我们的java程序只要使用sun公司提供的jdbc驱动即可。###使用JDBC的基本步骤注册驱动DriverMan...原创 2018-11-18 16:31:01 · 133 阅读 · 0 评论 -
MYSQL之简单语句查询二
排序:order//查询年龄在20-30之间的男性,按照年龄从小到大;//默认就是asc从小到大排序,desc:从大到小排序;select * from students where (age between 20 and 30) and gender=1 order by age;select * from students where (age between 20 and 30) ...原创 2019-08-12 15:42:09 · 102 阅读 · 0 评论 -
MYSQL之简单语句查询三
连接查询: 内连接多表查询 inner join...on //内连接就是:多个表中都有的数据拿出来,合并成一条数据select * from students as s inner join classes as c on s.cls_id=c.id;//去掉重复的列select s.*,c.name from students as s inner join classes ...原创 2019-08-12 16:43:39 · 167 阅读 · 0 评论 -
MYSQL之分表
原创 2019-08-17 20:40:18 · 91 阅读 · 0 评论