Java技术
小橙汁儿
爱生活,爱技术
展开
-
java中Map遍历的四种方式
提示:java中Map遍历的四种方式文章目录一、在for循环中使用entries实现Map的遍历二、在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好三、通过Iterator遍历四、通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作提示:以下是本篇文章正文内容,下面案例可供参考一、在for循环中使用entries实现Map的遍历代码如下(示例):/*** 最常见也是大多数情况下用的最多的,一般在键原创 2020-10-31 18:50:14 · 1265 阅读 · 0 评论 -
搭建分布式配置中心阿波罗
搭建分布式配置中心阿波罗systemctl stop firewalld.service 关闭防火墙服务CentOS7 下安装jdk8环境1 检查服务器环境首先,我们需要检查一下服务器是否安装过java环境,可以使用如下命令:java -version如果已经安装有java环境,会出现类似于以下的信息:如果未安装java环境,则会出现类似以下信息:java: 未找到命令2 传...原创 2019-12-24 12:37:35 · 190 阅读 · 0 评论 -
基于Docker部署GitLab环境搭建
基于Docker部署GitLab环境搭建建议虚拟机内存2G以上1.下载镜像文件docker pull beginor/gitlab-ce:11.0.1-ce.0注意:一定要配置阿里云的加速镜像2.创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。mkdir -p /mnt/gitlab/etcm...原创 2019-12-24 10:36:03 · 107 阅读 · 0 评论 -
Docker安装禅道
Docker安装禅道查询禅道docker search zentao拉取禅道镜像docker pull idoop/zentao:latest运行禅道docker run -d -p 8082:80 -p 3307:3306 \ -e USER="root" -e PASSWD="你自己的密码" \ -e BIND_ADDRESS="false" ...原创 2019-12-24 10:14:51 · 131 阅读 · 0 评论 -
Docker
Docker学习目标:掌握Docker基础知识,能够理解Docker镜像与容器的概念完成Docker安装与启动掌握Docker镜像与容器相关命令掌握Tomcat Nginx 等软件的常用应用的安装掌握docker迁移与备份相关命令能够运用Dockerfile编写创建容器的脚本能够搭建与使用docker私有仓库1 Docker简介1.1 什么是虚拟...原创 2019-12-24 10:07:55 · 117 阅读 · 0 评论 -
JDBC PreparedStatement 防止sql注入原理
JDBC PreparedStatement 防止sql注入原理使用Statement执行查询语句的时候 : 比如要执行用户名 密码登录验证的sql语句 经常要输入 String sql = " select * from user where name=' " +name+ " ' and pwd = ' " +pwd+ " ' "; 这时候如果用户输入的密码...原创 2019-12-04 10:41:54 · 572 阅读 · 0 评论 -
SpringBoot数据库配置报错
SpringBoot数据库配置报错SpringBoot在连接数据库的时候会出现如下报错,原因是时间区域时差问题java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure eithe...原创 2019-12-03 11:18:05 · 530 阅读 · 0 评论 -
了解SpringBoot
1. 了解SpringBoot在这一部分,我们主要了解以下3个问题:什么是SpringBoot为什么要学习SpringBootSpringBoot的特点1.1.什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传...原创 2019-11-08 22:53:31 · 243 阅读 · 0 评论 -
idea常用的快捷键
idea常用的快捷键快速构建maven的web项目archetypeCataloginternalAlt+回车 导入包,自动修正Ctrl+N 查找类Ctrl + Alt + b查看接口实现类中方法(就是我们使用接口编程时,在调用实现类方法处直接Ctrl+鼠标左键方法,只能进入到接口中定义的方法处,但是使用该快捷键则直接到实现类的该方法中了)Ctrl+Alt+T 将代码包在一个...原创 2019-10-30 15:19:10 · 227 阅读 · 0 评论 -
Spring 面试问题
Spring 面试问题1.1. 不同版本的 Spring Framework 有哪些主要功能?1.2. 什么是 Spring Framework?Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。它可以集成其他框架,如 Structs、Hiberna...原创 2019-10-30 14:41:39 · 209 阅读 · 0 评论 -
Java线程面试题
Java线程面试题在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式创建线程比较好(比如:继承thread类还是调用Runnable接口),然后逐渐问到并发问题像在Java并发编程的过程中遇到了什么挑战,Java内存模型,JDK1.5引入了哪些更高阶的并发工具,并发编程常用的设计模式,经典多线程问题如生产者消费者,哲学家就餐,读写器或者...转载 2019-10-30 14:03:42 · 1747 阅读 · 0 评论 -
JVM调优
JVM调优为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变...转载 2019-10-30 13:55:03 · 94 阅读 · 0 评论 -
Spring MVC要点1
Spring MVC要点 1Spring MVC执行过程 及原理分析1、服务器启动,应用被加载。读取到 web.xml 中的配置创建 spring 容器并且初始化容器中的对象。从入门案例中可以看到的是:HelloController 和 InternalResourceViewResolver,但是远不止这些。2、浏览器发送请求,被 DispatherServlet 捕获,该 Servl...原创 2019-10-29 21:34:38 · 145 阅读 · 0 评论 -
Spring要点
Spring要点常用注解用于创建对象的:相当于:< bean id="" class="" >@Component作用:把资源让 spring 来管理。相当于在 xml 中配置一个 bean。属性:value:指定 bean 的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小写。@Controller @Service @Rep...原创 2019-10-29 19:58:26 · 151 阅读 · 0 评论 -
Mybatis重点解析
Mybatis重点解析定义 resultMap<!-- 建立 User 实体和数据库表的对应关系type 属性:指定实体类的全限定类名id 属性:给定一个唯一标识,是给查询 select 标签引用用的。--><resultMap type="com.itheima.domain.User" id="userMap"><id column="id" pro...原创 2019-10-29 18:19:44 · 102 阅读 · 0 评论 -
ssm整合文件
ssm整合文件resourcesapplicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...原创 2019-10-29 17:31:27 · 82 阅读 · 0 评论 -
Vuejs案例
综合案例案例需求完成用户的查询与修改操作数据库设计与表结构CREATE DATABASE vuejsdemo;USE vuejsdemo;CREATE TABLE USER(id INT PRIMARY KEY AUTO_INCREMENT,age INT,username VARCHAR(20),PASSWORD VARCHAR(50),email VARCHAR(50),...原创 2019-10-25 11:48:43 · 261 阅读 · 0 评论 -
Vuejs
vuejs简单入门1.VueJS 概述与快速入门1.1 VueJS介绍Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。Vue官网=====>1.2 MVVM模式MVVM是Model-View-ViewModel的简写。它本质上就是MVC...原创 2019-10-25 09:33:54 · 1963 阅读 · 0 评论 -
Oracle
Oracle--创建表空间create tablespace liuwkdatafile 'g:\liuwk.dbf'size 100mautoextend onnext 10m;--删除表空间drop tablespace liuwk;--创建用户create user liuwkidentified by liuwkdefault tablespace liuwk...原创 2019-10-23 23:48:14 · 88 阅读 · 0 评论 -
redis
redis官网:https://redis.io2. 中文网:http://www.redis.net.cn/3. 解压直接可以使用:* redis.windows.conf:配置文件* redis-cli.exe:redis的客户端* redis-server.exe:redis服务器端命令操作1. redis的数据结构:* redis存储的是:key,value格式的...原创 2019-10-14 11:20:34 · 125 阅读 · 0 评论 -
多线程
多线程创建线程类Java使用 java.lang.Thread 类代表线程,所有的线程对象都必须是Thread类或其子类的实例。每个线程的作用是 完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码。Java使用线程执行体来代表这段程序流。 Java中通过继承Thread类来创建并启动多线程的步骤如下:定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就...原创 2019-10-14 00:21:09 · 82 阅读 · 0 评论 -
自定义异常
自定义异常为什么需要自定义异常类:我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义 好的,此时我们根据自己业务的异常情况来定义异常类。例如年龄负数问题,考试成绩负数问题等等。 在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开发中也会出现很多异常,这些异常很可能在JDK中 没有定义过,例如年龄负数问题,考试成绩负数问题.那...原创 2019-10-14 00:10:31 · 84 阅读 · 0 评论 -
Map集合
Map集合现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等, 这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接 口。我们通过查看 Map 接口描述,发现 Map 接口下的集合与 Collection 接口下的集合,它们存储数据的形式不同,如 下图。Collection...原创 2019-10-14 00:06:32 · 86 阅读 · 0 评论 -
集合2
集合List集合java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对 象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过 索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。它是一个元素存取有序的集...原创 2019-10-12 23:29:16 · 133 阅读 · 0 评论 -
集合
集合集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.MapCollection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类...原创 2019-10-12 21:20:54 · 80 阅读 · 0 评论 -
java常用方法
java常用方法Date类java.util.Date类 表示特定的瞬间,精确到毫秒。public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数System.ou...原创 2019-10-12 19:53:22 · 252 阅读 · 0 评论 -
关键字
关键字instanceof 关键字Java提供了 instanceof 关键字,给引用变量做类型的校验变量名 instanceof 数据类型 如果变量属于该数据类型,返回true。 如果变量不属于该数据类型,返回false。...原创 2019-10-12 13:24:43 · 312 阅读 · 0 评论 -
接口
接口概述接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么 接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法 (JDK 9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并 不是类,而是另外一种引用数据类型。...原创 2019-10-12 11:10:02 · 125 阅读 · 0 评论 -
Math类
Math类java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具 类,其所有方法均为静态方法,并且不会创建象,调用起来非常简单。基本运算的方法public static double abs(double a) :返回 double 值的绝对值。public static double ceil(double a) :返回大于等...原创 2019-10-12 10:28:27 · 75 阅读 · 0 评论 -
Arrays类
Arrays类java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来 非常简单。操作数组的方法public static String toString(int[] a) :返回指定数组内容的字符串表示形式。示例 :public static void main(String[] args) { // 定义int 数组 ...原创 2019-10-12 10:25:22 · 173 阅读 · 0 评论 -
String的常用方法
String的常用方法构造方法public String() :初始化新创建的 String对象,以使其表示空字符序列。 public String(char[] value) :通过当前参数中的字符数组来构造新的String。public String(byte[] bytes) :通过使用平台的默认字符集解码当前参数中的字节数组来构造新的 String。// 无参构造 String...原创 2019-10-12 10:20:24 · 299 阅读 · 0 评论 -
Spring MVC 请求参数乱码问题
Spring MVC 请求参数乱码问题post 请求方式:在 web.xml 中配置一个过滤器<!-- 配置 springMVC 编码过滤器 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframew...原创 2019-10-10 16:51:01 · 93 阅读 · 0 评论 -
mvc和三层架构
mvc和三层架构MVC 模型MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。View(视图):通常指的就是我们的 jsp 或者 html。作用...原创 2019-10-10 15:02:17 · 279 阅读 · 0 评论 -
Java反射的三种方式
Java反射的三种方式创建Class对象的方式一:(对象.getClass()),获取person类中的字节码文件创建Class对象的方式二:(类.class:需要输入一个明确的类,任意一个类型都有一个静态的class属性)创建Class对象的方式三:(forName():传入时只需要以字符串的方式传入即可)通过Class类的一个forName(String className)静态方法...原创 2019-10-10 14:52:33 · 4381 阅读 · 0 评论 -
Mybatis基于代理 Dao 实现 CRUD 操作
Mybatis基于代理 Dao 实现 CRUD 操作本篇博客衔接博主的上一篇博客 : Mybatis知识点精简1. mybatis 环境搭建步骤第一步:创建 maven 工程第二步:导入坐标第三步:编写必要代码(实体类和持久层接口)第四步:编写 SqlMapConfig.xml第五步:编写映射配置文件第六步:编写测试类1.1在持久层接口中添加 findById 方法User ...原创 2019-10-09 20:04:08 · 108 阅读 · 0 评论 -
Mybatis知识点精简
Mybatis知识点精简1. 创建 maven 工程创建 mybatis01 的工程,工程信息如下:Groupid:com.liuwkArtifactId:mybatis01Packing:jar2. 添加 Mybatis3.4.5 的坐标在 pom.xml 文件中添加 Mybatis3.4.5 的坐标,如下:<dependencies> <dependenc...原创 2019-10-09 18:49:22 · 115 阅读 · 0 评论 -
BCrypt密码加密
BCrypt密码加密一 . BCrypt 快速入门我们从官网下载源码 BCrypt 官网新建工程,将源码类BCrypt拷贝到工程新建测试类,main方法中编写代码,实现对密码的加密String gensalt = BCrypt.gensalt();//这个是盐 29个字符,随机生成 System.out.println(gensalt);String password ...原创 2019-10-08 23:33:59 · 2468 阅读 · 0 评论 -
Spring MVC接受date类型
Spring MVC接受date类型@RequestMapping("/deleteAccount")public String deleteAccount(Date date) {System.out.println("删除了账户。。。。"+date);return "success"; }运行报错 : Failed to convert from type [java.lang.S...原创 2019-10-10 17:01:02 · 282 阅读 · 0 评论 -
SpringMVC 实现文件上传
SpringMVC 实现文件上传1.1 文件上传的必要前提A form 表单的 enctype 取值必须是:multipart/form-data(默认值是:application/x-www-form-urlencoded)enctype:是表单请求正文的类型B method 属性取值必须是 PostC 提供一个文件选择域<input type=”file” />1....原创 2019-10-10 20:31:51 · 206 阅读 · 0 评论 -
SpringMVC跨服务器方式的文件上传
SpringMVC跨服务器方式的文件上传分服务器的目的在实际开发中,我们会有很多处理不同功能的服务器。例如:应用服务器:负责部署我们的应用数据库服务器:运行我们的数据库缓存和消息服务器:负责处理大并发访问的缓存和消息文件服务器:负责存储用户上传文件的服务器。准备两个 tomcat 服务器,并创建一个用于存放图片的 web 工程在文件服务器的 tomcat 配置中加入,允许读写...原创 2019-10-10 20:42:32 · 203 阅读 · 0 评论