- 博客(70)
- 资源 (2)
- 收藏
- 关注
原创 MySQL在win上的离线安装
1.将下载到的mysql-5.7.23-winx64.zip解压到目录d:\Program Files\MySQL进入目录d:\Program Files\MySQL里,并新建一个文件my.ini 使用记事本的方式打开文件my.ini,并将下面的内容写入文件my.ini中 [client]port=3306default-character-set=utf8[mysq...
2020-01-12 21:02:07
700
原创 Problem D. 魔法师排队 --贪心
时间限制 2000 ms内存限制 64 MB题目描述有n个魔法师在排队买魔法面包,每个魔法师都有自己的魔力值,用一个正整数表示。 魔法师都不喜欢排队,如果任意时刻某个魔法师发现前面的魔法师的魔力值比自己小,那么这个魔法师就会用法术把前面的人传送到异空间。 请输出有多少个魔法师会被传送到异空间。输入数据第一行为一个正整数n,代表魔法师的人数。 接下来一行位n个正整数,第i个正整数a...
2019-12-03 00:47:42
786
原创 课间十分钟
Problem B. 课间十分钟时间限制1000ms内存限制128MB题目描述两人都是数学爱好者,便发明了一个游戏。在游戏开始前,他们先约定一个正整数n,同时令m=1。游戏过程中,每个人都可以将m的值扩大2到9中的任意倍数。第一个使m≥n的人就是最后的赢家。181818181818和ZBT都十分聪明,并且游戏过程中都使用最佳的策略,问谁会是最后的赢家。(181818181...
2019-10-27 19:44:35
1507
1
原创 JAVA中字符串比较equals()和equalsIgnoreCase()的区别
1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:boolean equals(Object str)这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )...
2019-09-16 16:15:55
246
1
转载 java try-with-resource语句使用
定义JDK7之后,Java多了个新的语法:try-with-resources语句,可以理解为是一个声明一个或多个资源的 try语句(用分号隔开),一个资源作为一个对象,并且这个资源必须要在执行完关闭的,try-with-resources语句确保在语句执行完毕后,每个资源都被自动关闭 。任何实现了** java.lang.AutoCloseable**的对象, 包括所有实现了ja...
2019-09-16 15:41:08
3479
原创 避免使用Finalizer和Cleaner机制-[创建和销毁对象]
1.Finalizer机制finalize是Object类中的一个方法, 当一个对象被销毁前jvm会去调用该对象的finalize方法。@Deprecated(since="9")protected void finalize() throws Throwable { } // 在java9中已被废弃如果一个对象依赖了底层资源(例如Socket, Stream, Connecti...
2019-09-16 15:18:00
722
原创 effective java 第三版 builder建造者 P12
package Effective02.P12;import java.util.EnumSet;import java.util.Objects;import java.util.Set;public abstract class Pizza { public enum Topping{ HAM, MUSHROOM, ONION,PEPPER, SAUSAG...
2019-09-16 10:22:52
277
原创 利用适配器,可以利用for-each 语句来遍历Stream
public static <E> Iterable<E> iterableOf(Stream<E> stream){ return stream::iterator; } @Test public void test8(){ List<String> players =Arrays...
2019-09-12 16:00:48
185
原创 Lambda收集器示例
Collectors常用方法工厂方法 返回类型 作用 toSet Set 把流中所有项目收集到一个 Set,删除重复项 toList List 收集到一个 List 集合中 toCollection Collection 把流中所有项目收集到给定的供应源创建的集合menuStream.collect(toCollection(), A...
2019-09-12 15:24:13
165
原创 Lambda 提取排名前十的列表
@Test public void test7(){ Map<String,Long> freq=new HashMap<>(); freq.put("1",1L); freq.put("2",1L); freq.put("3",1L); freq.put("4",2L); ...
2019-09-12 15:00:49
5429
转载 Java Map.merge() 使用
关于Map.merge()这可能是Key-Value中最通用的操作。但它也相当模糊很少使用。merge():它将新值置于给定键下(如果不存在)或更新具有给定值的现有键(UPSERT)。示例://计算唯一的单词出现次数var map = new HashMap<String, Integer>();words.forEach(word -> { var...
2019-09-04 17:59:15
1759
原创 C# trackBar 获取label的值
trackBarControl.properties.Labels[trackBarControl.Value].label
2019-08-18 13:20:56
1374
原创 单例模式的五种写法
设计模式(Design pattern),提供了在软件开发过程中面临的一些问题的最佳解决方案,是Java开发者必修的一门课程。主要分创建型模式、结构型模式和行为型模式。其中接下来我们要写的是单例模式,属于创建型模式。单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。下面我们来看下有哪几种实现方式吧...
2019-06-23 13:52:48
240557
41
转载 HashMap的ReHash图解
resize方法void resize(intnewCapacity){ Entry[] oldTable = table; intoldCapacity = oldTable.length; ...... //创建一个新的Hash Table Entry[] newTable =new Entry[newCapacity]; //将Old H...
2019-06-21 15:55:52
6353
1
转载 SQL Server数据库和MySQL数据库有什么区别?
SQL Server数据库和MySQL数据库有什么区别呢?详细很多初入IT行业的朋友对于SQL Server数据库和MySQL数据库经常搞混,认为这两种数据库是同一种,其实不然,今天我们来分析一下这两种数据库的不同之处:SQL Server数据库和MySQL数据库有什么区别 1,优点分析:MYSQL短小精悍,容易上手,操作简单,免费供用的。相对其它数据库有特色又实用的语法多一些。SQL怎...
2019-06-19 22:09:06
6798
翻译 mysql 的几种缓存
1,缓存穿透当查询缓存是无此key对应的值,后去数据库查询,数据库有值时存入缓存无值时返回无此值,但再一次查此key是还是一样的结果,但大量的访问此key是对数据库会造成更大的压力解决办法当查询缓存是无此而已的值时,查询数据库,有值时存入缓存,物质是同样存入一个null 并设置较短的有效时间,但再次...
2019-06-19 21:54:23
468
转载 MySQL索引类型一览 让MySQL高效运行起来
MySQL索引类型一览 让MySQL高效运行起来本文介绍了七种MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令MySQL的查询和运行更加高效。索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表...
2019-06-19 20:56:53
279
转载 最透彻的Netty原理架构解析
本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。JDK 原生 NIO 程序的问题JDK 原生也有一套网络应用程序 API,但是存在一系列问题,主要如下:NIO 的类库和 API 繁杂...
2019-06-19 20:13:09
370
转载 Netty相关
1.BIO、NIO和AIO的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通...
2019-06-19 19:50:33
173
翻译 Spring-bean的循环依赖以及解决方式
本文主要是分析Spring bean的循环依赖,以及Spring的解决方式。 通过这种解决方式,我们可以应用在我们实际开发项目中。什么是循环依赖?怎么检测循环依赖Spring怎么解决循环依赖Spring对于循环依赖无法解决的场景Spring解决循环依赖的方式我们能够学到什么?1. 什么是循环依赖?循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。...
2019-06-19 16:09:09
338
翻译 Java中创建对象的几种方式
作为java开发者,我们每天创建很多对象,但是我们通常使用依赖注入的方式管理系统,比如:Spring去创建对象,然而这里有很多创建对象的方法:使用New关键字、使用Class类的newInstance方法、使用Constructor类的newInstance方法、使用Clone方法、使用反序列化。使用new关键字:这是我们最常见的也是最简单的创建对象的方式,通过这种方式我们还可以调用任意的够赞...
2019-06-19 14:57:56
143
转载 初识JVM及jvm运行时数据区和jvm内存模型的区别
众所周知Java从95年出世之后就一直处于语言排行榜的 top 前几位,最主要的原因是因为Java的内存管理机制,我们coding 只管new 对象(前提是正常编码)从来基本没有考虑过对象怎么存在,如何销毁释放等问题。其次就是Java 的跨平台性,准确来说应该是Java一次编译多处运行,是基于不同操作系统安装不同的Java运行所需的jvm才能完成如此强大的跨平台运行。学习jvm...
2019-06-19 14:26:43
310
转载 MySQL - 常见的三种数据库存储引擎
数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是插件式存储引擎。查看存储引擎:我们可以用SHOW ENGINES; 来查询数据库的存储引擎。...
2019-06-13 22:51:20
259
转载 静态代理和动态代理的区别和联系
静态代理和动态代理的区别和联系代理Proxy:Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 为了保...
2019-06-13 22:46:58
4009
原创 在Eclipse中使用JUnit4进行单元测试(初级篇)
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测...
2019-06-13 20:24:49
267
转载 Runnable可以实现资源共享但Thread不能实现资源共享的原因
我么知道Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.实现Runnable接口相比继承Thread类有如下好处:1.避免单继承的局限,一个类可以同时实现多个接口2.适合资源的共享.实现多线程模拟售票点卖票来说明实现Runnable即可可以达到资源共享的目的.使用继承Thread类的多线程售票实现...
2019-06-13 20:23:18
1796
1
原创 Thread和Runnable的区别
如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。总结:实现Runnable接口比继承Thread类所具有的优势:1):适合多个相同的程序代码的线程去处理同一个资源2):可以避免java中的单继承的限制3):增加程序的健壮性,代码可以被多个线程共享,代码和数据独立4):线程池只能放入实现Runable或callabl...
2019-06-13 20:00:37
8988
2
原创 数据库的水平分割和垂直分割
在数据库操作中,我们常常会听说这两个词语:水平分割和垂直分割。那么到底什么是数据库的水平分割,什么是数据库的垂直分割呢?本文我们就来介绍一下这部分内容。1、水平分割:按记录进分分割,不同的记录可以分开保存,每个子表的列数相同。水平分割通常在下面的情况下使用:A 表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。B 表中的数据本来就有独...
2019-06-11 12:16:47
4726
转载 2019年3月springboot最新面试题(含详细答案)
2019-03-17 21:19:03springboot项目基础面试题(一)1.springboot与spring的区别.引用自官方说法: java在集成spring等框架需要作出大量的配置,开发效率低,繁琐.所以官方提出 spring boot的核心思想:习惯优于配置.可以快速创建开发基于spring框架的项目.或者支持可以不用或很少的spring配置即可.2.springb...
2019-06-09 23:20:39
5027
转载 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!
1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。更多 Spring Boot 详细介绍请看这篇文章《什么是Spring Boot?》。2、为什么要用 Spring Boot?Spring Boot...
2019-06-09 23:12:46
193
转载 Spring Boot开启的2种方式
使用Spring Boot很简单,先添加基础依赖包,有以下两种方式1. 继承spring-boot-starter-parent项目 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...
2019-06-09 22:51:56
287
转载 SpringMVC常见面试题总结
1、什么是Spring MVC ?简单介绍下你对springMVC的理解?SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC的流程?(1)用户发送请求...
2019-06-09 19:07:33
131
转载 Java 浅拷贝和深拷贝的理解和实现方式
Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a; B.b=A.b;在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用现有对象的部分或全部 数据。Java中的对象拷贝主要分为:浅拷贝(Shal...
2019-06-07 22:27:25
111
转载 可重入锁
基础知识Java多线程的wait()方法和notify()方法这两个方法是成对出现和使用的,要执行这两个方法,有一个前提就是,当前线程必须获其对象的monitor(俗称“锁”),否则会抛出IllegalMonitorStateException异常,所以这两个方法必须在同步块代码里面调用。wait():阻塞当前线程notify():唤起被wait()阻塞的线程不可重入锁所谓不可...
2019-06-05 21:21:41
105
原创 Comparable和Comparator的区别
ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现,compareTo方法也被称为自然比较方法。如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话,那么...
2019-06-05 20:51:39
122
转载 Java的四种引用方式
Java的四种引用方式java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。java对象的引用包括强引用,软引用,弱引用,虚引用Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于JVM进行垃圾回收。下面来阐述一下这四种类型引用的概念:1.强引用...
2019-06-05 18:59:48
306
转载 k路归并算法的分析和实现
问题描述 将k个已经排序的数组归并成一个大的排序的结果数组。这些数组可能数量比较大,以至于不能直接装载到内存中。 这个问题比较有意思。后面一截的描述是我个人加上去的。实际上一个简单的模型就是将k个已经排好序的数组或者序列合并成一个排好序的结果数组。那么我们该怎么来考虑这个问题呢?初步分析 其实这个问题可以说是一个问题的更加普遍形式。回顾一下我们在讨论归...
2019-06-04 19:44:24
2247
转载 提给程序员的10道Java泛型面试题
提给程序员的10道Java泛型面试题 关于泛型的面试题在Java面试中变得越来越常见,因为 Java 5问世已经有相当长的时间了,越来越多的应用已经迁移到Java 5上来了,并且几乎所有新的Java开发工作也都是在Tiger(Java 5的项目代号)版本上进行的。泛型和其它Java 5特性比如枚举、自动拆装箱、可变参数,还有集合工具类比如CountDownLatch、Cycl...
2019-06-01 23:00:59
583
转载 java泛型(三)、通配符的使用
通配符有三种:1、无限定通配符形式<?>2、上边界限定通配符 形式< ? extends Number>//用Number举例3、下边界限定通配符形式< ? super Number>//用Number举例1、泛型中的?通配符如果定义一个方法,该方法用于打印出任意参数化类型的集合中的所有数据,如果这样写imp...
2019-06-01 22:53:53
279
Java 最常见 200+ 面试题全解析:面试必备.docx
2019-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人