Java
文章平均质量分 56
菲儿啊
这个作者很懒,什么都没留下…
展开
-
MD5加密——使用Java自带的MessageDigest工具类实现
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。MD5 算法底层原理,简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环处理分组数据,拼...原创 2020-05-22 16:26:36 · 549 阅读 · 0 评论 -
[面试题]自己边面试边总结的Java开发工程师笔记
问题一:业务背景题问:业务背景:某浪微博平台有很多用户时常的会发布微博,当某个用户发布一条微博的时候,TA的所有关注着都可以接收到这条信息。那么怎么样设计一个合理的解决方案来让用户快速将他所发布的微博信息推送给所有的关注者呢?答:第一种方案,每个用户所发送的微博都存储起来(时间上有序)。当用户要刷新微博的时候就可以直接拉取TA所关注的人在这个时间内的微博,然后按照时间排序之后再推送过来。...原创 2020-04-23 16:49:35 · 1679 阅读 · 0 评论 -
[编程题]走斜线Java
题目描述:有天牛牛来到一张方格地图上,整张地图可以看做一个二维坐标轴。牛牛此刻处于原点(0,0),他想要到点(x,y)去。牛牛有强迫症,他规定自己必须恰好k步走到点(x,y),中途可以经过任何点包括(x,y),但是第k步一定要到达(x,y)。一步有八种走法,直线东(+1,0)南(0,-1)西(-1,0)北(0,+1),斜线东南(+1,-1)东北(+1,+1)西南(-1,-1)西北(-1,+...原创 2020-03-28 12:36:19 · 1386 阅读 · 0 评论 -
Shopee的零食柜
题目描述shopee的零食柜,有着各式各样的零食,但是因为贪吃,小虾同学体重日益增加,终于被人叫为小胖了,他终于下定决心减肥了,他决定每天晚上去操场跑两圈,但是跑步太累人了,他想转移注意力,忘记痛苦,正在听着音乐的他,突然有个想法,他想跟着音乐的节奏来跑步,音乐有7种音符,对应的是1到7,那么他对应的步长就可以是1-7分米,这样的话他就可以转移注意力了,但是他想保持自己跑步的速度,在规定时间m...转载 2020-03-27 22:32:53 · 723 阅读 · 0 评论 -
Shopee的办公室(二)Java
题目描述shopee的办公室非常大,小虾同学的位置坐落在右上角,而大门却在左下角,可以把所有位置抽象为一个网格(门口的坐标为0,0),小虾同学很聪明,每次只向上,或者向右走,因为这样最容易接近目的地,但是小虾同学不想让自己的boss们看到自己经常在他们面前出没,或者迟到被发现。他决定研究一下如果他不通过boss们的位置,他可以有多少种走法?题解代码import java.util.Sca...原创 2020-03-27 22:29:00 · 334 阅读 · 0 评论 -
万万没想到之聪明的编辑Java
题目描述我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 hello...原创 2020-03-27 22:22:08 · 426 阅读 · 0 评论 -
LeetCode394. 字符串解码Java
题目描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 ...原创 2020-03-27 22:00:12 · 245 阅读 · 1 评论 -
LeetCode比较版本号Java
题目描述:比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。输入有两行,第一行表示version1,第二行表示version2。你可以假设版本字符串非空,并且只包含数字和 . 字符。. 字符不代表小数点,而是用于分隔数字序列。例如,2....原创 2020-03-27 21:44:31 · 667 阅读 · 0 评论 -
排序算法总结之冒泡排序
选择排序就是获取未排序部分数据中最小的数据放到数组的最前面,以此类推。原创 2020-03-27 10:58:34 · 103 阅读 · 0 评论 -
Java的Socket网络编程(TCP/IP)详细教程
Socket编程通讯原理原创 2020-03-26 16:23:52 · 3935 阅读 · 0 评论 -
【详细分析】Java的String和StringBuffer和StringBuilder的区别
String、StringBuff、StringBuilder的区别一、各自的特点(1)String类(2)StringBuffer类(3)StringBuilder类二、三者的区别1、对象类型不同2、运行速度不同3、线程是否安全总结一下一、各自的特点首先看一下他们各自的特点(1)String类String类:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在...原创 2020-03-26 15:01:30 · 436 阅读 · 0 评论 -
Java只有值传递,没有引用传递!
参考链接:Java传值须知看完上面的文章总结一下:Java的只有值传递,没有引用传递。在Java中,参数都是按值传递的。被传递到方法中的拷贝值,要不就是一个引用或一个变量,取决于原始参数的类型。参数类型有四种:基本数据类型、包装类(属于immunable不可变对象)、集合类、自定义对象类在方法中,修改一个基础类型的参数永远不会影响原始参数值。在方法中,改变一个对象参数的引用永远不会...原创 2020-03-24 17:37:46 · 206 阅读 · 0 评论 -
树搜索算法 及 最优解
转载:https://blog.csdn.net/ncepuzhuang/article/details/8944991一、深度优先搜索与广度优先搜索算法有何区别深度优先搜索算法不全部保留结点,扩展完的结点从数据存储结构栈中弹出删去,在栈中存储的结点数就是解空间树的深度,因此它占用空间较少。所以,当搜索树的结点较多,用其它方法易产生内存溢出时,深度优先搜索不失为一种有效的求解方法。广度优先...原创 2020-03-24 16:03:34 · 4296 阅读 · 0 评论 -
Java的多线程及多线程编程
java多线程及多线程编程一、线程、进程、多线程的概念二、一个线程的生命周期(5种状态)三、线程的优先级四、创建一个线程(1) 通过实现 Runnable 接口来创建线程(2)通过继承Thread来创建线程Thread 方法(3)通过 Callable 和 Future 创建线程五、创建线程的三种方式的对比六、线程的几个主要概念补充一:线程状态补充二:Thread类中和start()和run()的...原创 2020-03-22 20:57:43 · 184 阅读 · 0 评论 -
[编程题]万万没想到之抓捕孔连顺Java:字节跳动校招题
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 128M,其他语言256M我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议我们在字节跳动大街的N个建筑中选定3个埋伏地点。为了相互照应,我们决定相距最远的两名特工间的距离不超过D。我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了...转载 2020-03-22 17:27:18 · 757 阅读 · 1 评论 -
【面试题】求连续子数组的最大和
题目:给定一个数组 array[1, 4, -5, 9, 8, 3, -6],在这个数字中有多个子数组,子数组和最大的应该是:[9, 8, 3],输出20,再比如数组为[1, -2, 3, 10, -4, 7, 2, -5],和最大的子数组为[3, 10, -4, 7, 2],输出18。1、暴力解法求出这个数组的所有子数组,然后将所有子数组之和的值进行比较,得到最大的值。代码如下:p...原创 2020-03-22 14:12:05 · 268 阅读 · 0 评论 -
Java集合队列常考点:Collection接口和Map接口,队列Queue
集合队列常考点集合常考点:Collection接口和Map接口队列Queue常考点:1、LinkedBlockingQueue2、PriorityQueue3、ConcurrentLinkedQueue总结集合常考点:Collection接口和Map接口队列Queue常考点:以下翻译来自java8的官方文档:1、LinkedBlockingQueue基于链接节点的可选限定 的 阻塞队列...原创 2020-03-20 10:15:59 · 397 阅读 · 0 评论 -
抽象类和普通类、抽象类和接口的区别
包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。【注意】抽象类和普通类的主要有三点区别:1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。2)抽象类不能用来创建对象;3)如果一个类继承于一个抽象类,则子类必须实现父类的...原创 2020-03-19 23:16:30 · 566 阅读 · 0 评论 -
Java虚拟机JVM的内存数据区域
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)栈区:1、每个线程包含一个栈区,栈中只保存方法(不包括对象的成员变量)中的基础数据类型和自定义对象的引用(不是对象),对象都存放在堆区中2、每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。3、栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。堆区:存储...原创 2020-03-19 23:06:05 · 239 阅读 · 0 评论 -
Java关于数组转化成格式化的字符串输出
int[] arr ={1,2,3,4,5};System.out.println(arr);//System.out.println(arr.toString());//都是输出[I@7150bd4d 即[类型@哈希值String arrString = Arrays.toString(arr);System.out.println(arrString);//输出[1, 2, 3,...原创 2020-03-19 22:48:54 · 3119 阅读 · 0 评论 -
Java软件工程师笔试题01_统计商品数量(字符串的处理)
今天是第一次笔试,笔试的平台是牛客网,自己选的Java语言进行编程,平台采用的是Java1.8进行编译运行,第一次参加笔试,第一次用Java编程,以前都是用的C++。所以最为一个新接触的新手,难免有坑,别提了,坑简直不要太多。(让我哭会)一共4道题在一个半小时之内完成。下面来分析一下我踩过的坑。试卷共显示6道题,前面两题是例题不计分。这两道例题分别告诉你单行用例输入和多行用例输入的格式。然后进...原创 2020-03-19 22:27:29 · 513 阅读 · 0 评论 -
接口、多重接口实现、抽象类、类型转换
接口、接口实现、抽象类、类型转换一、什么是接口 interface二、如何定义接口和使用接口三、接口多重实现四、抽象类与接口比较五、instanceof 运算符补充 - 类型转换一、什么是接口 interface接口的概念:接口就是某个事物对外提供的一些功能的申明,一种标准.一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现/***开关接口类型*/interfa...原创 2020-03-18 20:11:51 · 551 阅读 · 0 评论 -
方法的修饰符static、final、abstract
static静态成员静态成员[成员属性和成员方法](1)静态的成员独立于类的实例(对象) — 银行的利率静态的成员在访问时,直接使用 类.方法()或 类.属性Math. random() , Arrays .sort() ;(2)静态的成员随着类的加载而加载. — 静态存储区 常驻内存(3)在静态方法中可以直接调用其他静态方法.(4)理解到 main 主方法必须为静态.(5)不...原创 2020-03-18 19:38:37 · 671 阅读 · 0 评论 -
==和equals() 的比较
==和 equals ()都是用于相等型判断的操作符== 操作符用来判断两个引用是否指的同一个对象,或两个简单类型的值是否相等即: [ == 比较值类型数据,比较的是值, 而引用类型对象比较的是地址]equals() 方法用来判断对象的内容是否相等,相等的条件在该类中定义Object类的 equals() 方法直接用 == 实现,不适用!! !所以,通常override(重写/覆写)...原创 2020-03-17 14:32:41 · 367 阅读 · 0 评论 -
访问修饰符
信息隐藏是OOP(面向对象编程)最重要的功能之一,也是使用访问修饰符的原因使用访问修饰符可以保护类中的数据安全。访问修饰符有:private、protected、public可见性根据保密性从高到低:— 1、private 私有的 — 只能被同一个类中的成员访问— 2、什么都不写(默认)— 同一个包package中的类可以访问.— 3、protected 受保护的一 同一个包中的类成...原创 2020-03-17 13:41:13 · 175 阅读 · 0 评论 -
(超详细)Java的面向对象编程—类、对象、包、参数、构造器、重载
Java的面向对象编程一、类和对象二、创建类和使用对象三、特殊的toString()方法四、Java数据类型小结五、包 package六、变量的作用域七、带参数方法调用八、构造器九、方法的重载一、类和对象1、对象特征 — 即属性 每个对象的每个属性都拥有特定值行为 — 即方法2、类 — Type类型 class-类从对象抽象出“类”,类是由若干个对象抽象形成。是对象的...原创 2020-03-17 13:16:07 · 369 阅读 · 0 评论 -
Java变量、标识符、数据类型及其转换
Java变量、标识符、类型转换一、变量的概念二、Java常用数据类型(1)数值:(2)非数值三、不同进制的整数:四、基本运算符五、类型转换问题一、变量的概念variable — 变量是程序执行时,内存中的存储单元.以字节Byte来恒量存储单元空间大小.1Byte = 8位bit 二进制变量三要素:类型,名称,值使用变量步骤:声明变量>为变 量分配内存空间为变量赋值(初始化...原创 2020-03-17 11:52:38 · 400 阅读 · 2 评论 -
了解Java的发展和基础知识
Java的发展历史Java是1982年2月由SUN Microsystem 公司创立。Sun公司是因为一个绿色计划Green Project 项目而研发出来的一种新型编程语言,我们的Java之父就是Jams Gosling.1995年5月23日诞生,以Java正式面向世界,Java的诞生标志着互联网时代的开始。1996.01–>JDK1.0发布JDK包括两大部分:运行环境和开发工具...原创 2020-03-17 11:20:10 · 215 阅读 · 0 评论 -
关于SpringMVC-5.0.2的Maven4项目的示例总结
关于SpringMVC-5.0.2的Maven4项目的示例总结一、工具和框架二、文件配置(一)pom.xml文件的配置(二)、web.xml文件的配置(三)、springmvc-config.xml文件的配置三、创建Controller控制器四、创建视图五、运行一、工具和框架工具:Eclipse jee、Tomcate9框架:SpringMVC-5.0.2项目类型:Maven4的web项目...原创 2020-03-06 15:20:59 · 366 阅读 · 0 评论 -
Maven配置JSP和JSTL的依赖
【注意】添加jstl依赖时:tomcat中已有jsp-api和servlet-api,但maven下载jstl时也会把它所依赖的这两个包下载下来,所以就有了包冲突,因此在maven的pom.xml中需要排除这两个包的下载 ,否则会报错Missing artifact javax.servlet.jsp.jstl:jstl:jar:1.2。添加tomcat:tomcat 的支持.tomcat...原创 2020-03-04 18:37:29 · 1100 阅读 · 0 评论 -
一个界面同时含有登录和注册按钮,分别跳转到不同界面的处理办法
处理方法:1、登录 按钮通过表单<form>标签里的action属性跳转到Servlet后台2、注册 按钮通过 超链接<a>标签跳转到另一个页面补充:action这里可以带上参数:action="Servlet?method=login"这一句代码的意思是带上method的值跳转传到到Servlet后台,后台取method值的代码是:String method =...原创 2020-03-04 14:00:35 · 3647 阅读 · 1 评论 -
Maven配置JSON的依赖-添加JSON的jar包
<!-- json jar包 --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier...原创 2020-03-04 12:25:34 · 2521 阅读 · 0 评论 -
ResultMap中<id>和<result>的区别
<resultMap type="com.wkd.entity.AreaCode" id="baseResultMap"> <!-- colum:表中列名(大写) property:类中属性名 jdbcType:表中类型 --> <id column="CODE" property="code" jdbcType="VARCHAR" /> <r...原创 2020-03-04 10:43:13 · 5152 阅读 · 0 评论 -
Eclipse连接MySql数据库——c3p0连接池,MySQL8.0
工具①mysql-connector-java-8.0.11.jar 驱动包②eclipse 开发工具③mysql-8.0.11 数据库Eclipse连接MsSql数据库步骤一、 mysql-connector-java-8.0.11.jar 下载下载网址:https://dev.mysql.com/downloads/connector/j/二、eclipse导入jdbc的驱动包...原创 2020-03-04 13:08:28 · 2111 阅读 · 0 评论 -
Eclipse加载MySQL驱动问题
Eclipse加载MySQL问题即Eclipse加载mysql-connector-java-8.0.11.jar 驱动包方法1:纯手工部署在当前Web项目中添加该驱动:1、右击当前Web项目;2、选择Build path → add External Archieves→添加mysql-connector-java-5.1.45-bin.jar。3、然后将驱动部署到Tomcat当前项...原创 2020-02-28 21:16:21 · 1354 阅读 · 0 评论 -
Eclipse连接MsSql数据库 8.0版JDBC驱动
转载自:https://blog.csdn.net/yangdan1025/article/details/80591012工具mysql-connector-java-8.0.11.jareclipsemysql-8.0.11jdbc 8.0.11下载下载网址:https://dev.mysql.com/downloads/connector/j/eclipse加载jdbcja...原创 2018-11-22 12:39:13 · 3188 阅读 · 0 评论 -
Java面向对象OOP练习源码05_随机分组
问题描述:已知有十六支男子足球队参加比赛。写一个程序,把这16 支球队随机分为4 个组。package com.exercise2_5;import java.util.ArrayList;import java.util.List;import java.util.Random;public class Test { public static void main(Stri...原创 2020-02-25 23:08:53 · 243 阅读 · 0 评论 -
Java面向对象OOP练习源码04_按照某个属性字段进行排序
问题描述:制作汽车类,现有格式汽车5款,名字,生产日期 与 价格。将他们存放在集合中并按价格排序再迭代输出package com.exercise2_4;import java.util.ArrayList;import java.util.Collections;import java.util.List;class Car implements Comparable<...原创 2020-02-25 23:06:50 · 195 阅读 · 0 评论 -
Java面向对象OOP练习源码03_数字金额转化成大写中文金额
问题描述:从键盘输入数字金额值,调用自定义方法String convertToString(int money) 获取该整数对应的中文金额值.如:12345 壹万贰仟叁佰肆拾伍圆提示:使用数组unit存放单位 [“圆”,”拾”,…]使用数组big 存放大写数字 [“零”,”壹”,”贰”,…]可借助StringBuffer类package com.exercis...原创 2020-02-25 23:03:17 · 151 阅读 · 0 评论 -
Java面向对象OOP练习源码02
问题描述:利用OOP思想编程实现以下代码的类结构:引擎<发动机>类(Engine):成员属性:power 功率方法:work()方法、属性power的get与set 方法package com.exercise2_2;public class Test { public static void main(String[] args) { Driver driver...原创 2020-02-25 22:59:19 · 410 阅读 · 0 评论