
Java
文章平均质量分 67
shendezhuti
本科湖南大学电子科学与技术学士学位 正攻读美国乔治华盛顿大学计算机硕士学位
展开
-
Java函数式编程
函数式编程的定义函数式编程是一种编程的范式,他将计算视为函数的运算,避免变化状态和可变数据。他是一种声明式编程范式,也就是说,编程是用表达式或者声明而不是语句来完成的。Lamda 表达式 : (a,b) -> a + b比起指令式的编程,函数式编程更加强调程序执行的结果而不是执行的过程,倡导利用若干个简单的执行单元让计算结果不断渐进,逐层推导复杂的运算userList.stream().skip(1).peek(uer -> log.debug("user:{}", user.g原创 2021-02-08 23:36:51 · 207 阅读 · 2 评论 -
动态规划实战9 leetcode-91. Decode Ways
前言:这个题如果没有做过 我感觉要想到状态转移方程还是有点难度的。确定状态最后一步:实际上我个人认为这个题的难点就是最后一步要理解好。每次新增一个数字,我们其实都要考虑1.新增的一个数字单独作用 增加多少种可能2.新增的一个数字与前面的一个数字加起来一起作用 增加多少种可能因此 dp[i]代表 到第i个数字有多少种decode ways状态转移方程dp[i] = 0...原创 2020-03-24 23:25:48 · 128 阅读 · 0 评论 -
JDBC中数据库连接池的使用与传统方式的比较
数据库连接的传统方式当有多个线程,每个线程都需要连接数据库执行SQL语句的话,那么每个线程都会创建一个连接,并且在使用完毕后,关闭连接。创建连接和关闭连接的过程也是比较费时间的,当多线程并发的时候,系统就会变得卡顿。并且,一个数据库同时支持的连接综述也是有限的,如果多线程并发量很大,那么数据库连接的总数就会被消耗光,后续线程发起的数据库连接就会失效。[外链图片转存失败,源站可能有防盗链机制,建...原创 2020-02-02 06:30:38 · 832 阅读 · 0 评论 -
Java 使用反射 Class.forName() 报错java.lang.ClassNotFoundException 的解决办法
今天复习使用反射机制,利用代码Class.forName(className)返回类对象时报错。其中className是从一个hero3.config文件中读取的字符串。检查发现使用File读取时路径没有问题。那是哪里出错了呢?进入debug模式后,发现 className字符串多了一个\n,并且报错的时候并没有输出\n。于是进入hero3.config检查,发现是文件中多敲了一...原创 2019-11-19 11:04:36 · 7201 阅读 · 0 评论 -
JSP会被淘汰吗?
...转载 2019-11-07 08:28:41 · 760 阅读 · 0 评论 -
Java中 Cloneable 、Serializable 接口详解
...转载 2019-10-31 23:06:03 · 377 阅读 · 0 评论 -
Java学习笔记——IO
简介整个 Java.io 包中最重要的就是 5 个类。指的是 File、OutputStream、InputStream、Writer、Reader;本节将重点讲解 Java.io 的相关内容。知识点文件 随机读写 文件操作 文件拷贝 文件属性 目录读取 IO 流 字节流 字符流文件Java 使用 File 类来直接处理文件和文件系统。File 类没有指定信...原创 2019-07-30 20:22:30 · 439 阅读 · 0 评论 -
Java学习笔记——网络编程
之前学习了计算机网络的课程 但是没有结合java练习过。这篇文章打算记录一些java网络编程知识点以及找一个小project练练手。Socket 简介网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket。 建立网络通信连接至少要一对端口号(socket)。socket 本质是编程接口(API),对 TCP/IP 的封装,TCP/IP 也要提供可供程序员...原创 2019-07-31 12:25:04 · 239 阅读 · 0 评论 -
Java学习笔记——多线程
简介Java给多线程编程提供了内置的支持,一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。本节主要讲解 Java 多线程的一些概念以及其实现。知识点多线程的实现 线程变量 线程同步 Lock 与 Unlo...原创 2019-08-01 00:10:08 · 313 阅读 · 0 评论 -
Java学习笔记——反射
简介Java 反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。本节主要讲解 Java 反射机制中的常用类知识点反射常用类什么是反射反射是 Java 编程语言的一个特性,它提供了在运行时检查和动态调用类、方法、属性的能力。反射能做什么...原创 2019-08-01 00:14:27 · 158 阅读 · 0 评论 -
Java学习笔记——正则表达式
简介正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE ),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。Java 通过java.util.regex包支持正则表达式的的功能。知识点java.util.regex这里只说明如何在 Java 中使用正则表达式,关于表...原创 2019-08-01 11:57:00 · 168 阅读 · 0 评论 -
Java学习笔记——JDBC
简介java通过JDBC连接数据库,JDBC 的全称是 Java Database Connectivity,叫做 Java 数据库连接。它包括了一组与数据库交互的api,还有与数据库进行通信的驱动程序。我们要写涉及到数据库的程序,是通过 C 语言或者 C++ 语言直接访问数据库的接口,如下图所示。对于不同的数据库,我们需要知道不同数据库对外提供的系统 API,这就影响了我们程序的...原创 2019-08-03 12:11:33 · 558 阅读 · 0 评论 -
Java学习笔记之设计模式(1)设计模式简介
在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。设计模式原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改封闭。在程序需要进行扩展的时候,不能去修改或影响原有...原创 2019-07-28 21:07:44 · 117 阅读 · 0 评论 -
Java学习笔记——Lambda
Lambda 表达式是 Java SE 8 中一个重要的新特性。Lambda 表达式允许你通过表达式来代替功能接口。什么是函数式编程函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程典范,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且...原创 2019-07-29 18:46:16 · 148 阅读 · 0 评论 -
Java学习笔记之设计模式(7)单例模式
什么是单例模式单例模式(Singleton Pattern),顾名思义,就是被单例的对象只能有一个实例存在。单例模式的实现方式是,一个类能返回对象的一个引用(永远是同一个)和一个获得该唯一实例的方法(必须是静态方法)。通过单例模式,我们可以保证系统中只有一个实例,从而在某些特定的场合下达到节约或者控制系统资源的目的。单例模式类图在 【装饰者模式】中,我们体验了拥有各种不同特性的女朋友的...原创 2019-07-29 12:20:33 · 148 阅读 · 0 评论 -
Java学习笔记之设计模式(6)观察者模式
什么是观察者模式一句话,观察者模式(Observer Pattern)就是一种 “发布者-订阅者” 的模式。有时也被称为 “模型-视图”模式、“源-监听者”模式等。在这种模式中,由一个目标对象来管理所有依赖与它的观察者对象,并且当这个目标对象自身发生改变时,会主动向它的观察者们发出通知。观察者模式类图比如你最近在追一个美剧《生活大爆炸》,假设著名在线视频网站某狐买下独家版权,在线更新与...原创 2019-07-29 00:43:24 · 114 阅读 · 0 评论 -
类与继承
1.什么是继承从作者本人来讲继承这个概念吧,作者是湖南大学在读学生,这么说来其实作者也是一个大学生,没错吧!现实生活中,学生和大学生是某种包含关系,而学生这个名词范围更加广,大学生这个名词更加的窄。在java语言中,我们知道,在写一个java工程时,肯定要定义很多类,假设我们现在定义了一个student学生类,并且写好了学生类的属性和方法,现在问题来了:我是一个大学生,我有个弟弟,而我弟弟原创 2016-09-06 11:28:33 · 389 阅读 · 0 评论 -
java事件监听机制 概述
1.什么是事件?现在假设我们写了一个游戏登录界面,如图是一部分我们可以发现初次见面是个按钮,这个按钮是可以点击的,当我们点击后,当然是没有任何反应的,因为我们没有编写任何代码对吧。虽然现在没有反应,但是我们点击按钮的过程,我们称之为一个事件,后面的复选框我们发现是可以勾选的,勾选的这个过程其实是一个事件。这个很好理解对吧! 2.什么是事件监听机制?一原创 2016-09-06 11:32:19 · 957 阅读 · 0 评论 -
java线程
一.线程的概念以及目的以前我们写过java程序各个部分是按顺序依次执行的,由于某种原因,需要将这些按顺序执行的“程序段”转成并发执行,每一个“程序段”是一个逻辑上相对完整的程序代码段,此时就是多线程。比如在生活中,我们可以一边听音乐,一边喝咖啡。再如一个网络服务器可能要同时处理几个客户机的请求等,多线程的主要目的就是将程序中的各个“程序段”并发化。程序,进程,多任务与线程是非常容易原创 2016-09-06 11:33:53 · 284 阅读 · 0 评论 -
static关键字
Static称为静态修饰符,他可以修饰类中的成员。被static修饰的成员被称为静态成员,也称为类成员,而不用static修饰的成员称为实例成员。 实例成员都有自己保存成员的存储空间,而不与其他对象共享,如图 如图,所创建的volu1和volu2均有各自的存储空间来保存自己的值,而不与其他对象共享。因此若修改了volu1的某个成员变量的值,volu2的成员变量并不受影响,原创 2016-09-06 11:37:52 · 419 阅读 · 0 评论 -
String
一.String类的创建 这是我们常见的两种创建字符串的形式。 String str1 = “abc”; String str2 = new String(“abc”); 第一种方式创建的字符串会放在栈里,更确切的是常量池中,常量池就是用来保存在编译阶段确定好了大小的数据,一般我们定义的原创 2016-09-06 11:39:12 · 304 阅读 · 0 评论 -
java中jdk api等概念的解释
楼主渣渣,从大一开始学习java语言,到之后暑假在一个小公司实习做网页,用的是php当后台,大二一年学习艺术。java语言就基本淡出了我的生活。后来有打算出国读研究生,现在要开始准备出国语言,又想在大三的暑假找个大公司的实习。于是下定决定,看完algorithms 4 英文版原著,碰到了很多英语的概念,初次难以理解,查了字典,再对照上下文去推测,于是在这里一些个人的理解吧,相当于是自己的读书笔记,原创 2017-09-23 10:00:23 · 1572 阅读 · 0 评论 -
为什么在java中不能创建泛型数组
前段时间在上国外某教授的algorithm课程,提到在java中不能创建泛型数组,课后也有这个思考题,自己百思不得其解,于是翻开了《think in java》这本书,在书的第15章,写到。这是由于擦除机制。(尽管通读了第15章,小白作者还是有很多地方不明白,如果读者能明白,望不吝赐教)public class ErasedTypeEquicalence { public stat原创 2017-10-23 22:40:32 · 2363 阅读 · 2 评论 -
Implement queue with two stack 用两个堆实现队列
在上国外某教授的algorithm课,课后有一个小quiz,问题如下 Implement a queue with two stacks so that each queue operations takes a constant amortized number of stack operations.用两个堆实现一个队列,这个队列每次操作的消耗应该是堆操作的分期常量。我们知道队原创 2017-10-24 10:10:34 · 861 阅读 · 0 评论 -
Java学习笔记之设计模式(2)工厂模式
工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂模式根据不同的参数来实现不同的分配方案和创建对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。例如用工厂来创建人这个对象,如果我们需要一个男人对象,工厂就会为我们创建一个男人;如果我们需要一个女人,工厂...原创 2019-07-28 22:41:04 · 90 阅读 · 0 评论 -
Java学习笔记之设计模式(3)抽象工厂模式
什么是抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是在工厂模式之上增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。所以我们也叫它 “工厂的工厂”。(想想上节课的 “女娲娘娘”,这简直就是 “女娲娘娘...原创 2019-07-28 23:21:42 · 97 阅读 · 0 评论 -
Java学习笔记之设计模式(4)适配器模式
什么是适配器模式顾名思义,适配器模式(Adapter Pattern)当然是用来适配的啦。当你想使用一个已有的类,但是这个类的接口跟你的又不一样,不能拿来直接用,这个时候你就需要一个适配器来帮你了。这就好像你兴冲冲地跑去香港,买了个港版的 iPhone6,充电器插头拿回家一看,不能用啊。这时候你多么需要买一个转接头适配器...你去香港旅游,买的 iPhone6 的充电器插头是英标的...原创 2019-07-28 23:57:32 · 134 阅读 · 0 评论 -
Java学习笔记之设计模式(5)装饰者模式
什么是装饰者模式装饰者模式(Decorator Pattern,有的也用 Wrapper Pattern)就是动态地把职责附加到已有对象上去,实现功能扩展。这种特性,使得装饰者模式提供了比继承更具有弹性的解决方案。提到装饰者模式,总让我想起卞之琳的《断章》来:你站在桥上看风景,看风景的人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦。多么有意境啊,单身狗读完会不会...原创 2019-07-29 00:17:51 · 116 阅读 · 0 评论 -
类与对象
一.什么是类 在生活中,不同的东西我们总是给不同的名词予以称呼。比如说,书包,鞋子,这是两类不同的东西,那么在JAVA中,也是类似,书包是一类东西,鞋子则是另一类东西。二.如何定义一个类 定义一个类的格式:[类修饰符] class 类名 几大类修饰符: p原创 2016-09-06 11:25:12 · 233 阅读 · 0 评论