![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 62
敲代码的洋葱头
v:Yww02240101
展开
-
爬取Leetcode的每日一题(Java/Python)
抓取Leetcode的每日一题信息思路一(发送GraphQL Query获取数据)参考文章:https://www.cnblogs.com/ZhaoxiCheung/p/9333476.html接口分析主要的数据存在于graphql/接口中:https://leetcode-cn.com/graphql/首页热门题目接口是否AC状态查看接口每日一题接口构造 GraphQL Query来获取信息在Headers下的Request Payload中我们可以看到一个query字段,这是我原创 2021-11-03 17:15:08 · 8105 阅读 · 11 评论 -
什么是CAS机制?
什么是 CAS 机制?1.Synchronized关键字Synchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个过程中涉及到操作系统用户模式和内核模式的转换(重量级锁在操作系统层面,申请了Mutex Lock 来实现互斥),代价比较高。尽管Java1.6为Synchronized做了优化,增加了从偏向锁到轻量级锁再到重量级锁的过度,但是在最终转变为重量级锁之后,性能仍然较低。2.什么是CAS?CAS是英文单词Compare转载 2021-10-15 07:53:16 · 405 阅读 · 0 评论 -
算法训练 || 169、多数元素
169、多数元素方法一:排序+遍历class Solution { public int majorityElement(int[] nums) { if(nums.length == 1) return nums[0]; //将数组排序是为了统计 Arrays.sort(nums); //统计变量 int count = 1, maxcount = 0; int index = 0, num =原创 2021-09-14 22:39:12 · 117 阅读 · 0 评论 -
jsp实现一个简单的投票系统
投票系统实现结果图(1)JDBC数据库连接工具类conn.javapackage com.gx.bean;import java.sql.*;public class conn { public Connection getConn(){ Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = Driv原创 2021-01-16 21:44:30 · 6683 阅读 · 9 评论 -
JSP+JavaBean
一个简单的JavaBean实例,包含属性、构造函数,getter函数、setter函数package com.runoob;public class StudentsBean implements java.io.Serializable{ private String firstName = null; private String lastName = null; private int age = 0; public StudentsBean() { } .原创 2021-01-14 14:56:42 · 645 阅读 · 1 评论 -
利用JDBC实现数据库的操作
【实训目的】(1)掌握利用JDBC实现数据库的添加操作(2)掌握利用JDBC实现数据库的更新操作(3)利用JDBC实现数据库的查询操作(4)利用JDBC实现数据库的删除操作【实训要求】(1)创建insert.jsp页面(2)创建update.jsp(3)创建query.jsp(4)创建delete.jsp1、insert.jsp<%@ page import="java.sql.Connection" %><%@ page import="java.sql.Stat原创 2021-01-14 13:47:49 · 651 阅读 · 0 评论 -
Servlet基础与Servlet和JSP的区别
Servlet是一种在服务器端运行的Java程序,它可以作为一种插件嵌入到Web服务器中去,提供HTTP、FTP等协议服务甚至用户自己定制的协议服务。而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为基础开发的。Servelt与JSP相比有一下几点区别编程方式不同Servlet必须编译以后执行运行速度不同Servlet 创有三种方式。1、实现 Servlet 接口因为是实现 Servlet 接口,所以我们需要实现接口里的方法。下面我们也说明了 Servlet 的原创 2021-01-13 14:22:48 · 253 阅读 · 0 评论 -
JSP内置对象
resquest对象reuqest对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过html表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项response对象...原创 2021-01-12 18:46:30 · 408 阅读 · 0 评论 -
xml基础
1. XML 1. 概念 2. 语法 3. 解析XML:1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签是预定义。 2. xml的语法严格,html语法松散 3. xml是存储数据的,html是展示数据原创 2021-01-10 14:39:22 · 176 阅读 · 0 评论 -
算法训练|买卖股票的最佳时机 II (贪心、动态规划)
贪心思路:题目没有说明交易次数、因此采用每天都交易的方式不断交易,用第二天的股票价格-前一天的股票价格,如果得到的值大于0,则添加进收益和。一直增加,直到收益达到最大。class Solution { public int maxProfit(int[] prices) { int profit = 0; int length = prices.length; for (int i = 1; i < length; i++) { ..原创 2021-01-07 01:00:03 · 194 阅读 · 0 评论 -
Java Tcp网络编程
示例 1:从网络上获取资源package shiyan;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class URLTest { public static voi原创 2021-01-03 13:24:35 · 121 阅读 · 1 评论 -
算法训练|二分查找(减治法)
二分查找的模板:class Solution { public int search(int[] nums, int target) { int length = nums.length; if(length == 0){ return -1; } int left = 0; int right = length-1; while(left<=right){原创 2020-12-25 17:55:47 · 460 阅读 · 0 评论 -
算法训练|摆动序列(贪心算法)
思路:给数组中的每一个元素设置一个状态,有begin,up,down三种状态,如果规定状态转换的位置成为【峰】和【谷】,那么,状态转换一次,则子序列的长度++,即【峰】和【谷】的总和就是子序列的长度。代码:class Solution { public int wiggleMaxLength(int[] nums) { //如果数组的长度小于等于1的话,那么摆动序列的个数和数组元素的个数一致 if(nums.length<=1){ .原创 2020-12-25 12:08:28 · 407 阅读 · 0 评论 -
算法训练|分配饼干(贪心算法)
贪心思想用尽可能最小的成本解决最大的问题解法1:class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int count = 0; int length1 = g.length; int length2 = s.length; for (int i =原创 2020-12-25 10:33:07 · 675 阅读 · 0 评论 -
动态规划笔记
什么是动态规划?按照动态规划传统的说法就是,将一个大问题分解成一个小问题,然后分别对各个小问题分别求解,最后整合到一起就是动态规划。按照解题的思路来看,一般求总共有多少种方式的题型属于动态规划题型(计数型动态规划求方式数),求一个完整的过程的属于递归题型(打印出所有的解一般不是动态规划做的事情)动态规划提醒的特点:计数求最大最小(并不是说求最大最小一定就是用动态规划来做,但是有极大的可能使用动态规划来做,有时候用贪心算法也是用来求最大最小值的)。求存在性先看下面的这道交换硬币的题正常原创 2020-12-18 21:12:47 · 989 阅读 · 0 评论 -
jsp+servlet+jdbc+mysql实现登录
LoginServlet类import com.sun.net.httpserver.HttpServer;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;原创 2020-12-15 09:59:21 · 565 阅读 · 0 评论 -
处理java获取ip为0:0:0:0:0:0:0:1的问题
@Before("log()") //利用切面里面的对象来获取类名方法名,JoinPoint来获取类名和方法名 public void dobefore(JoinPoint joinPoint){ //获取httpRequest后期用来获取url和ip ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttr...转载 2020-12-11 18:07:22 · 1305 阅读 · 1 评论 -
Springboot启动项目后localhost:8080访问时出现500错误解决方案
出现500错误的原因是服务器内部发生了错误,这时回到控制台时看到了以下提示:注意到使用了一个未知的数据库,因为我是使用Sqlyog的,这时才意识到,创建的连接名不代表数据库的名字,连接后里面的内容才是数据库,因此重新创建了一个叫做blog的数据库查看数据库的方法②,用cmd进入mysql后用命令show databases;也是可以的。处理该问题后发现还是不行这个时候再控制台发现了一个不太起眼的错误:java.sql.SQLException: The server time zone v.原创 2020-12-10 15:30:02 · 7333 阅读 · 0 评论 -
最大整数排列
问题描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数package oj;import java.math.BigInteger;import java.util.Arrays;import java.util.Collections;import java.util.Scanner;public class MaxArray{// public static Number[] result; public static void main(String[] arg原创 2020-11-29 22:52:06 · 147 阅读 · 0 评论 -
java接口与抽象类的区别
1、基本语法区别Java中接口和抽象类的定义语法分别为interface与abstract关键字。抽象类:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。抽象类的特点:a、抽象类不能被实例化只能被继承;b、包含抽象方法的一定是抽象类,但是抽象类不一定含有抽象方法;c、抽象类中的抽象方法的修饰符只能为public或者protected,默认为public;d、一个子类继承一个抽象类,则子类必须实现父类抽象方转载 2020-09-29 10:41:45 · 316 阅读 · 0 评论 -
算法训练:电话号码的字母组合(回溯求解)java
问题描述:分析问题:由问题可知,每一个按键都有着对应得映射关系,因此可以将按键的值作为key,将对应的小写字母字符串作为值存放在哈希表中。通过访问按键的值对相应的字符串的逐个字符进行遍历,采用深度遍历的思想,将访问到的字符进行组合,并将组合的结果存放在一个数组中,每一个组合完成之后将数组加入一个集合之中,最后返回该存放了不同值的集合。代码如下:class Solution { public List<String> letterCombinations(String digi原创 2020-08-26 12:38:07 · 195 阅读 · 0 评论 -
算法训练:二进制手表(暴力、回溯求解)java
问题描述二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。解法一:暴力求解利用两个for循环可以得到从0:00到11:59之间的所有时间,根据手表的特性,上方有LED的亮灯数表示了该时间所对应的二进制数有多少个1,因此可以采用java语法中Integer的方法bitCount,该方法可以返回一个整数转二进制后1的个数,当上方转载 2020-08-25 22:46:04 · 671 阅读 · 0 评论 -
不可变的类是什么?
什么是不可变类?不可变类是指,一旦一个类的对象被创建出来,在其整个生命周期中,它的成员变量就不能被修改不可变类的所有数据域都是私有的,且没有对任何一个数据域提供公共的设置方法。一个类的所有数据域都是私有的且没有修改器并不意味着它一定是不可变类。成为不可变类需要满足的条件有:1:所有数据域都是私有的(private)2:不对任何的成员变量提供改变值得方法(set/getter method)3:确保所有得方法不会被重载,手段有两种,一种是使用(final class)强不可变类,另一种是在所有的类原创 2020-08-20 12:43:06 · 880 阅读 · 0 评论