
Java理论与实践
文章平均质量分 70
Java基础的学习
adventure.Li
南京信息工程大学本科,南京大学研究生,后端Javaer,2022年阿里巴巴编程之夏学员,2023年拼多多暑期实习生,记录个人学习、感悟以及经验分享。
展开
-
Java实现一个简单的GitHub仓库信息爬取
Java实现简单的GitHub仓库信息爬取原创 2022-11-13 18:19:01 · 1985 阅读 · 1 评论 -
Jsch网络工具包的使用及源码简析
Stfp工具包原创 2022-10-16 15:54:25 · 2733 阅读 · 0 评论 -
java网络编程学习基础篇
Java网络基础学习原创 2022-10-09 12:31:16 · 506 阅读 · 0 评论 -
关于定位问题的一些思考【问题解决】
一、简介今天,写的一个应用出了点问题-,反馈的信息是后端报错了,但不知道错在哪?二、反思获取信息从用户拿获取的信息,只知道在请求**某个接口【信息1】**时,不能正确返回想要的结果。但凭这信息的输入,我们只能知道,并定位到某个接口出错了(但实际上已经缩小了很多,),从接口出发,明确知道问题肯定出在这个接口的这条逻辑链,对于简单的程序还好(基本上就是 从 controller到数据库一条逻辑链,再牵扯一下Redis什么的 简单交互),若对应逻辑调用复杂的 就需要把整个逻辑链理清。分析信息原创 2022-05-09 00:05:01 · 571 阅读 · 0 评论 -
Vue+Jar的部署方案
一、引言部署背景:由于近期需要进行毕设答辩,系统展示了;帮助朋友开发了一个简单的咨询类似论坛的小系统丰富一下整个平台,保证平台的完整性。其中我采用Vue框架搭建了一个Web后台,SpringBoot实现后端,近来进行 了简单的部署,在此记录一下。二、部署的注意事项明确该技术栈的运行环境明白Tomcat、Nginx、JDK、OS等运行环境的概念。了解环境的使用-尤其是Linux的常用指令注意端口开放、日志记录、问题排查等事项三、部署步骤Vue的部署步骤采用的部署在原创 2022-05-04 19:59:54 · 2842 阅读 · 0 评论 -
Java 为什么要 try catch?
一、描述一个学在Java的室友问我,明明都知道错误为什么还要try catch 处理异常啊?以下文章是我对其的一点思考。二、为什么要try catch?明白Java 中的 try catch是什么?首先,try catch是Java中处理 异常 的手段机制。关于Java如何具体来处理异常,后面来解释;我们先来明确目标和背景。既然是用来处理异常的,那么异常是什么?而这样做的好处又是什么呢?异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java原创 2021-10-03 19:26:19 · 3210 阅读 · 21 评论 -
【OS 学习笔记】什么是同步、互斥?
一、背景最近正在复习OS,为了更好理解其原理,便通过写博客来加深理解。由于知识水平有限,可能存在一些疏漏和不恰当之处,希望大佬们批评指点。二、同步机制什么是同步和互斥?同步Synchronization也称作制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系就是源于它们之间的相互合作关系同步适用对象:(两个或多个)数据库、文件、模块、线程之间用来保持数据内容一致性的机制。互斥是指某原创 2021-05-17 20:19:15 · 2452 阅读 · 6 评论 -
Java调用OpenCV(含简单人脸识别和图像灰度处理的示例)
一、前言本来打算下午,进行数据结构学习,但是啃了一上午高数之后,突然不想看书了,就打开电脑学了学设计模式,然后无意间发现OpenCV,于是进行了简单的学习。二、介绍什么是OpenCVOpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算原创 2021-05-02 18:17:20 · 13063 阅读 · 38 评论 -
【设计模式学习】几个常用设计模式总结
一、简介软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。参考学习:设计模式学习网站二、几个常用设计模式1. 单例模式描述:类、对象、实例的关系,在JVM中的堆区存着J原创 2021-05-02 16:14:49 · 416 阅读 · 10 评论 -
【问题解决】关于解决支付宝支付回调问题的一些感想
一、前言最近,开发过程中在调用支付宝支付出现了一些问题,在此总结一下。二、解决过程(1)问题描述在按照官方提供的指引步骤下,完成了支付,并且商户能够正常收到钱,但是就是不回调。(2)解决历程根据官方的解决回调的办法,我分别进行了回调地址的修改(由返回String 改为返回页面),尝试使用查询账户替代回调,使用云排查进行请求排查,只将问题锁定在请求参数或者配置之上。(基本上也就是从官方提供的这几个方向进行)。1、异步通知发送地址错误2、notify_url参数位置设置错误3、异步地原创 2021-04-23 18:00:26 · 5862 阅读 · 1 评论 -
蓝桥杯Java组最后的挣扎【DP总结】
一、前言按照蓝桥杯的考点,我将DP放在最后来复习(也就是今天,明天则进行简单的IDE熟悉即可了)。对于DP,相信大家也早有听闻,它不是一两天能够提升起来的,而且也需要天赋,因此在此我就简单进行总结一下,培养一下这方面的感觉,希望省赛场上遇到此类题能够有下手方向,最后祝大家蓝桥杯旗开得胜。二、具体过程(1)为什么需要DP算法?DP一般采用使用dp数组存储解,因此在求最优解时能够优化时间复杂度。(即使不能够找到状态方程,也得学会采用空间换时间的思想去优化时间,多骗一点测试用例)算法时间效率高,代原创 2021-04-16 18:25:29 · 402 阅读 · 1 评论 -
springcloud入门学习--服务治理篇
一、背景作为一个Java后端爱好者,不可能学点Java并发编程、JVM以及springcloud微服务的。虽然这些我都还没学,但是在后期有空就会进行学习了解的。今天开始了简单springcloud学习,在此记录一下。参考文章C语言编程网学习springcloudRestTemplate的使用二、具体步骤什么是springcloud?Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务注册、服务发现原创 2021-04-15 23:57:41 · 253 阅读 · 0 评论 -
蓝桥杯基础总结--模拟题
一、背景通过观察蓝桥杯真题以及其考纲,可以发现蓝桥杯考察的重点还是在逻辑思维,问题抽象,而逻辑思维更侧重数的处理。在2020年JavaB组中考察内存主要为字符处理、数组遍历(数字)、排序、简单基础编程(精度统计)、DP(难题),而没有复杂的模拟或者高级(需要综合应用集合)一点的编程题。说明蓝桥杯的趋势更加侧重思维了,平时务必注重思维的训练,多刷题,多刷题二叉树->DP。但这种思维题短时间内很难提升,因此我便做了模拟题的总结,顺便巩固基础编程,虽然2020年没有考察,但是按照一年考一年不考的规律估计原创 2021-04-14 10:12:18 · 477 阅读 · 1 评论 -
蓝桥杯基础知识巩固--矩阵填数和BFS的应用
一、前言今天,进行了近两年的蓝桥杯JavaB组真题整理,发现存在严重的基础薄弱问题。于是做了以下的基础知识巩固数量。二、代码矩阵填数package lq.questions.consolidate;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayLi原创 2021-04-13 18:20:59 · 165 阅读 · 0 评论 -
蓝桥杯Java组近两年真题练习总结(持续更新中)
一、前言接着上一篇蓝桥杯Java组基础巩固,此篇进行蓝桥杯Java组近两年的真题解析(个人解题+相关整理),代码能力弱,还望大佬多多指正。1.相关题解以及训练2012-2021蓝桥杯历届真题2020年十一届JavaB组简单思路分析蓝桥杯训练系统近年蓝桥杯题目表格形式汇总2.DP 类难题字符串排序问题装饰珠数字三角形3.模拟类难题4.思维类难题5.前缀和异能传输6.DFS、BFS七段码二、个人整理三、部分代码说明该代码仅代表个人思路,可能还存在一些问题,后期(4.1原创 2021-04-13 10:41:03 · 1309 阅读 · 8 评论 -
Java反射机制--遍历所有属性的实际应用
一、背景在开发项目时,遇到数据表字段较多,逐一去使用getter获取值感觉有点低效,于是思考能不能像数组一样去遍历这些属性。于是就想到了Java的反射机制。那么我们就以该项目为例,来了解一下Java反射吧。二、具体过程Java反射是什么?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。关于Java反射的具体介绍Java反射的原创 2021-04-13 10:29:24 · 674 阅读 · 1 评论 -
Springboot实现图片上传
一、前言对于图片上传,大家应该对表单数据进行上传图片很熟悉,包括本人,因为我们学习JavaWeb的第一种交互就是写一个JSP页面,里面一个表单进行提交,然后表单可以提交的内容形式很多包括字符数据也可以file。但今天要介绍另外一种简单方便的方式,通过Base64编码上传。参考文章springboot采用base64上传图片关于JDK更新1.8之后的Base64的用法表单形式上传二、具体步骤什么是Base64Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base6原创 2021-04-12 09:59:53 · 1163 阅读 · 3 评论 -
蓝桥杯Java组基础知识巩固训练
一、前言4.18 蓝桥杯省赛即将来临,为了更好的掌握Java基础知识的运用,在此做一下总结,若有不足之处,望大家指正批评。真题地址二、知识总结1.数值总结基本介绍与使用掌握数据类型的特点以及精度的使用控制。关于精度问题(采用BigDecimal设置保留几位小数,以及规则)的简单总结,如下package lq.base.structrure.base;import java.math.BigDecimal;import java.util.ArrayList;import java原创 2021-04-09 21:06:11 · 1888 阅读 · 20 评论 -
springboot实现支付宝支付功能
SpringBoot整合支付宝支付功能原创 2021-04-08 20:02:40 · 3587 阅读 · 2 评论 -
【Java基础】Java8新特性-Stream用起来,让你的开发效率大大提升
一、前言Java 8 型特性-Stream。Stream是对集合(Collection)对象功能的增强,它专注于对集合对象进行聚合操作或者大批量数据操作。Stream API借助于同时出现的Lambda表达式,极大地提高编程效率和程序可读性。同时它提供串行和并行两种模式进行聚合操作,并行模式能够充分利用多核处理器的优势,使用Java7开始提供的fork/join并行执行框架来拆分和加速处理过程。文章参考:Stream的介绍和基本使用菜鸟教程二、使用1.流的对象(1)集合(2)数组(3)原创 2021-04-02 21:18:18 · 370 阅读 · 2 评论 -
Java开发必备软件安装大全(建议学生党初学Java开发收藏)
欲善其事,必先利其器;一些设计优良的工具将帮助你更地提升自我原创 2021-03-17 12:36:32 · 12520 阅读 · 41 评论 -
spring-boot-maven-plugin 引入出现爆红,已解决
一、问题描述 换了一台电脑,重新进行idea安装配置。然后打开原来的项目结果引入spring-boot-maven-plugin出现爆红,而且spring-boot-starter-parent也不能引入。二、解决办法 1.检查环境配置,主要是settings.xml此文件配置情况是否正确,是否加入阿里云镜像。最好用idea工具打开检查一下是否规范,此次我的问题就原创 2021-03-06 21:58:35 · 3100 阅读 · 6 评论 -
【idea工具使用】idea 几个实用技巧,建议收藏
一、关于自动化 1.自动生成头注释@Author、@Date等设置步骤:打开Preferences(Mac用户),setting(windows用户)。然后在Editor中找到File and Code Templates,接着编辑File Header。详细步骤如下图所示。2.自动模板文件在学习spring mvc时,大家可能会遇到很多配置文件,此时很多地方都是模块性东西,为了方便简化配置使得更多精力在业务处理上可以设置模板文件快速生成文件。使用步骤和自动生成头注释原创 2021-02-18 13:46:43 · 619 阅读 · 4 评论 -
【TGAM-springboot入门练手项目】Springboot 整合websocket实现后端推送(前端部分)
TGAM-springboot入门练手项目此项目是个人参与工作室的一个项目,分为硬件、IOS、WEB、后端、数据分析等几大部分,具有实际商用价值。而我虽然只是在其中打杂,写的后端也不够好,但是我会努力地将这系列文章写清楚、详细,若有什么疑问,欢迎QQ:674619459和我交流。另外你的点赞、收藏便是对我最大的鼓励!!GITHUB:https://github.com/lyf712/TGAM-SpringBoot-Vue-Demo>简单介绍:https://blog.youkuaiyun.com/qq_4原创 2021-02-17 11:21:37 · 645 阅读 · 3 评论 -
【TGAM-springboot入门练手项目】使用websocket进行后端推送
TGAM-springboot入门练手项目此项目是个人参与工作室的一个项目,分为硬件、IOS、WEB、后端、数据分析等几大部分,具有实际商用价值。而我虽然只是在其中打杂,写的后端也不够好,但是我会努力地将这系列文章写清楚、详细,若有什么疑问,欢迎QQ:674619459和我交流。另外你的点赞、收藏便是对我最大的鼓励!!GITHUB:https://github.com/lyf712/TGAM-SpringBoot-Vue-Demo>简单介绍:https://blog.youkuaiyun.com/qq_4原创 2021-02-01 20:09:11 · 892 阅读 · 1 评论 -
【TGAM-springboot入门练手项目】采用jwt+shiro实现权限管理(二)
TGAM-springboot入门练手项目此项目是个人参与工作室的一个项目,分为硬件、IOS、WEB、后端、数据分析等几大部分,具有实际商用价值。而我虽然只是在其中打杂,写的后端也不够好,但是我会努力地将这系列文章写清楚、详细,若有什么疑问,欢迎QQ:674619459和我交流。另外你的点赞、收藏便是对我最大的鼓励!!GITHUB:https://github.com/lyf712/TGAM-SpringBoot-Vue-Demo>简单介绍:https://blog.youkuaiyun.com/qq_4原创 2021-01-31 19:30:15 · 982 阅读 · 1 评论 -
【TGAM-springboot入门练手项目】采用jwt实现token认证(一)
TGAM-springboot入门练手项目此项目是个人参与工作室的一个项目,分为硬件、IOS、WEB、后端、数据分析等几大部分,具有实际商用价值。而我虽然只是在其中打杂,写的后端也不够好,但是我会努力地将这系列文章写清楚、详细,若有什么疑问,欢迎QQ:674619459和我交流。另外你的点赞、收藏便是对我最大的鼓励!!GITHUB:https://github.com/lyf712/TGAM-SpringBoot-Vue-Demo>简单介绍:https://blog.youkuaiyun.com/qq_4原创 2021-01-30 23:49:55 · 986 阅读 · 3 评论 -
springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)
一、描述此项目为个人和朋友合作的电脑波数据分析项目。分为以下几大部分:硬件:CYTON板等进行脑电波的数据采集边缘设备:IPAD以及IOS APP边缘通信方式:蓝牙或WIFI网站:采用Vue框架搭建,含Bootstrap、elementUI组件库进行美化,Nginx进行反向代理,后端:采用springboot,redis做缓存,mysql存储(含分库分页处理),socket进行实时通信,Tomcat部署。python进行电脑波数据处理。SDK:阿里云短信服务GITHUB地址:项目git原创 2021-01-22 17:24:21 · 1244 阅读 · 1 评论 -
Springboot+Vue+Nginx反向代理入门示例(含打包部署阿里云服务器)
一、效果展现地址访问:网站地址二、准备工作1.阿里云服务器环境配置(1)MySQL数据库(2)Tomcat容器(本人开了8080-8084 五个端口,8081做后端,8080放web前端,其他几个拿来练手)并配置(3)nginx安装并配置2.工具(1)webstorm:采用webpack进行创建vue项目(2)idea:采用springboot进行搭建后端三、开发步骤1.配置工作(1)Tomcat主要配置JDK环境变量+catalish.sh+server.xml以及外机访问时原创 2021-01-19 23:49:52 · 1257 阅读 · 0 评论 -
【springcloud学习笔记】Eureka服务治理demo
一、描述Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包原创 2021-01-09 23:31:56 · 478 阅读 · 0 评论 -
怎么使用java servlet +jsp 实现一个简单的信息管理系统
写之前看一下命名规范!!数据库命名规范参考Java命名规范参考一、绪论 昨天,在群里看见一个大二学生叫帮忙代做Java课设,心怀着锻炼技术又可赚点零花钱就帮忙代做了。下面来说说怎么快速使用servlet +jsp进行一个简单的信息管理系统搭建吧。二、环境1.开发工具:eclipse (符合教学,虽然开发效率低,但是锻炼技术)2.数据库:“MySQL三、具体步骤1.系统定位(1)给系统取个名,其实都一样,只是针对不同的信原创 2020-12-16 21:00:16 · 3778 阅读 · 12 评论 -
【springboot学习笔记】部署在外部服务器
解决办法参考1jar包和war两种方式部署参考docker部署方式参考一、问题描述 按照网上的办法,我获取了war并将其部署在Tomcat(直接拖入和idea部署),却无法访问。二、解决办法()1.检查启动类是否进行配置(充当web.xml)2.检查是否排除内嵌Tomcat依赖加入以下 <dependency> <!--声明spring boot内嵌tomcat的作用范围,在运行时不起作用--> <groupId>or原创 2020-12-08 19:51:09 · 430 阅读 · 0 评论 -
【RabbitMq学习day1】spring boot简单整合RabbitMq示例
一、RabbitMq介绍RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。相关推荐博客:spring boot 整合RabbitMq详细篇六种模式详细介绍二、简单使用下载并安装RabbitMqMac :使用brew install rabbitmq 即可mac参考安装方法windows :下载原创 2020-11-23 21:09:31 · 454 阅读 · 0 评论 -
关于.xml / db.properties等fileNotFoundException解决办法
一、引入本人在进行spring学习时,遇到了fileNotFound好几次,其中包括xml和properties的居多。于是记录一下其解决办法。1.查看target中的class文件是否存在若不存在,在pom.xml文件中进行resources配置。以下可做参考 <resources> <resource> <directory>src/main/java/com/lyf/web</directory> <in原创 2020-11-10 14:42:39 · 1260 阅读 · 0 评论 -
【Java设计模式】适配器模式
一、设计原则开闭原则(Open Close Principle)里氏代换原则(Liskov Substitution Principle)依赖倒转原则(Dependence Inversion Principle)接口隔离原则(Interface Segregation Principle)单一职责原则(Single Responsibility Principle)最少知道原则(Demeter Principle)合成复用原则(Composite Reuse Principle)参考:原创 2020-10-04 16:19:14 · 505 阅读 · 0 评论 -
idea如何连接云服务MYSQL数据库
一、准备工作1.服务器端进行MYSQL环境搭建2.服务器进行MYSQL的安全组设置3.idea进行测试(代码与侧边栏测试)二、步骤1.环境搭建,几行指令就OK了,所以略过2.安全组设置(切记!!网上很多方法未说易错,作者就踩了这样的坑,在idea的侧边栏使用ssh+general可以进行连接,但代码连接不上,误认为服务器端没问题,搞了很久才发现服务器端口安全组没有进行设置)出入方向都进行3306端口的配置;错误记录(因为没有设置安全组):3.测试与本地连接一样点击Test Conn原创 2020-09-09 00:03:36 · 4990 阅读 · 1 评论 -
【Spring boot 学习】基本配置以及web层的使用
一、引入Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 SpringBoot所具备的特征有:(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs原创 2020-09-02 11:24:15 · 690 阅读 · 0 评论 -
使用easy ui和servlet实现用户登录(附加爬取电影top50展示)
一、引入 在昨天使用servlet实现用户的基础上,整合了一下easy ui进行美化,以及爬虫的信息的简单展示。二、效果展示登录界面主页面暂时采用比较原始的form界面,后续将会使用ea原创 2020-08-26 23:41:34 · 1115 阅读 · 0 评论 -
【Spring学习】定时任务
一、配置在dispatcher-servlet文件中配置<task:annotation-driven/>另外记得在包扫描加上task包的扫描<context:component-scan base-package="com.hys.admincontroller,com.hys.employeecontroller,com.hys.task"/>二、在task包中进行定时任务代码撰写package com.hys.task;import org.springfr原创 2020-08-22 10:57:06 · 435 阅读 · 0 评论