字符 方式 数据java

宾馆客房管理系统(Java+SQL Server)

源代码下载链接: 一、宾馆客房管理系统开发初衷 随着互联网技术的迅速发展,计算机技术的普及以及信息化时代的推波助澜,宾馆客房需求的逐渐增大,这也是挑战了宾馆客房管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的宾馆客房管理系统,提高了宾馆的工作效率,为想要入住宾馆的人提供更 ......
客房 管理系统 宾馆 Server 系统

【Spring MVC + Tomcat】Spring MVC 传统VS现代方式的启动过程对比

1 前言 这节我们来讨论下 Spring MVC 传统和现在的启动方式的不同,可能大家现在上手就是SpringBoot直接给我们内置Tomcat,我们最多也就是改改配置就完事了,我记得我上学的时候写SSM的时候,还要整理各种Jar包和配置,这节我们就来对比下两种启动方式是如何启动Spring MVC ......
Spring MVC 传统 过程 方式

MySQL索引数据结构入门

1. 什么是索引 说到索引,最常见的例子就是查字典,当我们需要查询某一个字的含义时,正常操作都是先根据字典的索引,找到该字在哪一页,然后直接翻到该页就行了。如果没有这个索引的话,那么我们就得一页一页的翻字典,直到找到该字。很明显,相对于第一种方案,第二种方案效率就要低很多了。 数据库中的索引也是类似 ......
数据结构 索引 结构 数据 MySQL

ubuntu16.04系统run方式安装nvidia显卡驱动

避免sudo apt-get install nvidia-*安装方式造成登录界面循环。 1. ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。 编辑文件blacklis ......
显卡驱动 显卡 方式 ubuntu nvidia

Java数组

Java数组 相同类型数据的有序集合(每一个数据称为一个数组元素,每个数组元素可以通过一个下标来访问) 数组声明创建 声明数组 dataType[ ] arrayRefVar; 首选方法 dataType arrayRefVar[ ]; 通过new操作符来创建数组 dataType[ ] array ......
数组 Java

java查看对象占用内存的大小

1.首先引入jar包 lucene-core-4.7.2.jar <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>4.0.0</version> </dep ......
对象 大小 内存 java

通过JAVA语言如何获取淘宝/天猫搜索词推荐

Java 是一种跨平台的、面向对象的高级编程语言,主要用来进行网站后台开发和 Android APP 开发,同时它是全球最受欢迎的编程语言之一,在世界编程语言排行榜 TIOBE 中,Java 一直霸占着前三名,有好多年甚至都是获得了第一名。那么为什么Java会如此受欢迎呢? Java 是一种半编译型 ......
语言 JAVA

数据库建表多对多关系

#数据库建表多对多关系 多对多关系需要创建3张表,两张实际使用的,一张是用来维护多对多关系的表 维护关系的表,至少要有两个字段,分别以另外两张表的主键作为外键 示例 ......
数据库 数据

Java与Mysql锁相关知识总结

锁的定义 在计算机程序中锁用于独占资源,获取到锁才可以操作对应的资源。 锁的实现 锁在计算机底层的实现,依赖于CPU提供的CAS指令(compare and swsp),对于一个内存地址,会比较原值以及尝试去修改的值,通过值是否修改成功,来表示是否强占到了这个锁。 JVM中的锁 jvm中,有2个常用 ......
知识 Mysql Java

基于拦截器去实现数据长度等校验

因为之前基于了HandlerInterceptorAdapter去实现过我们数据的拦截。后来一想这个都可以用来对传递的数据做拦截那么这个时候我们就可以用它来加上自定义注解去实现一个入参的数据校验这样就避免了大量的逻辑。可以去实现每个入参进来的时候数据的校验等等。 package com.cyi.In ......
长度 数据

关于Java中值传递和址传递

参数传递在Java中有两种类型 值和址 其实本质都是一份拷贝 在调用函数的时候 进行压栈 传进来的参数会被开辟一份新的空间 传基本类型是把值传过去 传引用数据类型是实例指向实参 void m(int v){ //基本数据类型传值 是一份拷贝 不会影响实参 v++ } void m(int[] arr ......
中值 Java

数据库锁

1.msql <1> 共享锁 select * from rh_dict where id='02228ee0379743d9af2d5e048d06f0b4' lock in share mode; --msql 共享锁 <2>排他锁 select * from rh_dict where id= ......
数据库 数据

Spring注入bean的常用的六种方式

一.通过注解注入的一般形式 Bean类 public class TestBean{ } Configuration类 @Configuration注解去标记了该类,这样标明该类是一个Spring的一个配置类,在加载配置的时候会去加载他。 @Bean的注解,标明这是一个注入Bean的方法,会将下面的 ......
常用 方式 Spring bean

JUC6_Java的锁Java锁之读写锁

独占锁(写锁) / 共享锁(读锁) / 互斥锁 概念 独占锁:指该锁一次只能被一个线程所持有。对ReentrantLock和Synchronized而言都是独占锁 共享锁:指该锁可以被多个线程锁持有 对ReentrantReadWriteLock其读锁是共享,其写锁是独占 写的时候只能一个人写,但是 ......
Java JUC6_Java JUC6 JUC

JUC6_Java的锁Java锁之自旋锁

Java锁之自旋锁 自旋锁:spinlock,是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁,这样的好处是减少线程上下文切换的消耗,缺点是循环会消耗CPU 原来提到的比较并交换,底层使用的就是自旋,自旋就是多次尝试,多次访问,不会阻塞的状态就是自旋。 优缺点 优点:循环比较获取直到 ......
Java JUC6_Java JUC6 JUC

JUC6_Java的锁Java锁之公平锁和非公平锁

Java锁之公平锁和非公平锁 概念 公平锁 是指多个线程按照申请锁的顺序来获取锁,类似于排队买饭,先来后到,先来先服务,就是公平的,也就是队列 非公平锁 是指多个线程获取锁的顺序,并不是按照申请锁的顺序,有可能申请的线程比先申请的线程优先获取锁,在高并发环境下,有可能造成优先级翻转,或者饥饿的线程( ......
Java JUC6_Java JUC6 JUC

JUC6_Java的锁Java锁之可重入锁和递归锁

可重入锁和递归锁ReentrantLock 概念 可重入锁就是递归锁 指的是同一线程外层函数获得锁之后,内层递归函数仍然能获取到该锁的代码,在同一线程在外层方法获取锁的时候,在进入内层方法会自动获取锁 也就是说:线程可以进入任何一个它已经拥有的锁所同步的代码块 ReentrantLock / Syn ......
Java JUC6_Java JUC6 JUC

JUC6_Java的锁Synchronized无法禁止指令重排却能保证有序性

为什么Synchronized无法禁止指令重排,却能保证有序性 前言 首先我们要分析下这道题,这简单的一个问题,其实里面还是包含了很多信息的,要想回答好这个问题,面试者至少要知道一下概念: Java内存模型 并发编程有序性问题 指令重排 synchronized锁 可重入锁 排它锁 as-if-se ......
有序性 Synchronized 指令 JUC6_Java JUC6

使用Navicat为MySQL数据库数据表添加外键时没有效果,没有约束效果

这个问题困扰了很久,到处再往上遍历最佳的解决办法 最后找了一个很好的解决办法 首先查看你的数据表使用的引擎是什么,按照一般的MySQL来说,默认使用的是InnoDB引擎,这样是不会出现上述错误。 我的数据库引擎使用的是MyISAM引擎这样就会导致在创建外键索引时,无法创建,及时语法不报错,但外键是没 ......
效果 数据 数据表 Navicat 数据库

Java8新特性5_并行流

并行流与顺序流 并行流 并行流就是把一个内容分成多个数据库,并用不同的线程分别处理每个数据块的流 Java8中将并行流进行了优化,我们可以很容易的对数据进行并行操作,Stream API可以声明性的通过parallel() 与 sequential() 在并行流与顺序流之间进行切换 Fork/Joi ......
特性 Java8 Java

Java8新特性1_HashMap变化

Java8新特性 主要特性 Lambda表达式 函数式接口 方法引用与构造器引用 Stream API 接口中默认方法与静态方法 新时间日期API 最大化减少空指针异常(Optional) 。。。。 HashMap1.7 在JDK1.7 到 JDK1.8的时候,对HashMap做了优化 首先JDK1 ......
特性 HashMap Java8 Java

Java8新特性4_强大的Stream

Stream API 了解Stream Java8中有两个比较大的改变 Lambda表达式 Stream API (java.util.stream.*) Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找,过滤和映射数据等操作。使用Strea ......
特性 Stream Java8 Java

Java8新特性6_Optional容器类

Optional类 概念 Optional类是一个容器类,代表一个值存在或者不存在,原来null表示一个值不存在,现在Optional可以更好的表达这个概念,并且可以规避空指针异常 常用方法 Optional.of:创建一个Optional实例 Optional.empty:创建一个空的Option ......
容器 Optional 特性 Java8 Java

Java8新特性2_Lambda表达式

Lambda表达式 为什么要用Lambda表达式 Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,将代码像数据一样传递,这样可以写出更简洁、更灵活的代码,作为一个更紧凑的代码风格,使Java语言表达能力得到了提升 实例代码 Lambda表达式最先替代的就是匿名内部 ......
表达式 特性 Lambda Java8 Java

Java8新特性3_方法引用和构造器

方法引用与构造器引用 方法引用 概念 若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”,可以理解为方法引用是Lambda表达式的另外一种表现形式 格式 对象::实例方法名 类::静态方法名 类::实例方法名 注意 Lambda体中,调用方法的参数列表与返回值类型,要与函数式接口中抽 ......
特性 方法 Java8 Java

Redis中的数据结构

Redis中的数据结构 前言 Redis是一个高性能的分布式内存数据库,在国内外个大互联网公司中都有着广泛的使用,即使是一些非互联网公司也有着非常重要的使用场景。 Redis提供了五种主要的数据类型,它提供了强大且实用的功能,然而实际开发中,有大多数的开发者仅仅只会使用简单的 Redis Strin ......
数据结构 结构 数据 Redis

Oracle以逗号分隔的字符串拆分为多行数据实例详解

RACLE开发知识:Oracle以逗号分隔的字符串拆分为多行数据实例详解 前言 近期在工作中遇到某表某字段是可扩展数据内容,信息以逗号分隔生成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第一想法是切割数据,以逗号作为切割符,以下为总结的实现方法,以供大家参考、指教。 1、regexp_ ......
逗号 字符串 字符 实例 数据

java 学习基础知识

一、java学习路线 入门:学习Java基础知识,了解面向对象编程思想等基本概念。 进阶:深入了解Java的高级特性,如多线程编程、网络编程等;学习Java框架,如Spring、Hibernate、MyBatis等。 实践:通过实战项目,深入理解Java应用开发过程中的各种问题,提升实践能力和经验。 ......
基础知识 基础 知识 java

CentOS7---部署LNMP数据存储到redis

一、部署LNMP及redis 1、部署LNMP,需要将 tengine-2.2.0.tar.gz 拷贝到虚拟机的 /root 目录下 步骤一:安装nginx 源码安装相关软件包 # pcre-devel做正则匹配,zlib-devel做数据压缩 [root@template ~]# yum -y i ......
CentOS7 数据 CentOS redis LNMP

selenium关于对同一元素,同一定位方式,在两个测试用例中出现定位结果不一致的情况分析

1、遇见的问题:同一个定位方法,同一个元素,在两个测试用例中进行定位,一个测试用例能够准确定位,一个测试用例报错,具体报错信息如下: 考虑如下:页面可能还未完全加载,使用selenium的等待时间的方法,我使用过没有成功,依然报错,再次考虑页面刷新,在失败的测试用例里面定位元素之前,让页面进行刷新( ......
selenium 元素 两个 情况 方式