JAVA基础
__Forever__
Coder;
算法爱好者;
数学建模爱好者;
研究生期间软件硬件都做,-_-||
热爱交朋友,探讨程序世界的美妙;
目前工作从事C,C++,Linux;
邮箱:Fugangli@foxmail.com,欢迎骚扰!
展开
-
HTTP status 404 -The origin server did not find a current representation for the target resource
Tomcat 在eclipse一运行时在eclipse就会弹出如图所示的消息: HTTP Status 404–Not Found The origin server did not find a current representation for the target resource网上有很多错误的原因,我这个比较特殊,网上没有看到我这种错误原因和解决办法,所以今天给大家分享一下...原创 2018-09-11 20:02:57 · 2474 阅读 · 1 评论 -
Java遍历链表,删除链表中元素结点等于item的节点
遍历链表,删除元素结点,注意别断链。复杂度O(N)。 public void remove(Item item) { while (first != null && item.equals(first.item)) { first = first.next; ...转载 2019-05-18 08:23:42 · 511 阅读 · 0 评论 -
Java删除链表的尾结点
public class Q100319 { //要删除尾结点,需要找到倒数第二个结点。尾结点为null,将倒数第二个结点置为null //需要对first为空和只有一个结点的情况进行特殊处理 private class Node { int item; Node next; } private Node first; public void deleteLastNo...原创 2019-05-17 21:13:43 · 1571 阅读 · 0 评论 -
Java使用定长数组实现队列的抽象,并可动态调整数组大小
如题:编写定长数组实现队列的抽象,并可动态调整数组大小import java.util.Scanner;public class ResizingArrayQueueOfStrings { private int first; private int last; private int count; private String[] queue; public Resizin...原创 2019-05-17 20:34:55 · 590 阅读 · 0 评论 -
Java编写一个可迭代的Stack用例
Java编写一个可迭代的Stack用例,它含有一个静态的copy()方法,接受一个字符串的栈作为参数并返回该栈的副本。主要就是在Stack中添加一个copy方法,下面是编写的Stack100312类的具体实现:import java.util.Iterator;public class Stack100312<Item> implements Iterable<Item...原创 2019-05-17 19:57:14 · 492 阅读 · 0 评论 -
Java一份stack的实现
如题:import java.util.Iterator;import java.util.NoSuchElementException;import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdOut;public class StackAPI<Item> implements Itera...原创 2019-05-13 09:48:11 · 455 阅读 · 0 评论 -
Java使用stack方法判断括号是否匹配
Java的栈真的是一个很有用的东西使用stack来判断一个字符串的括号是不是配对呢?比如:[] true(){[]}{} true[ false看代码吧:import java.util.Stack;import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdO...原创 2019-05-13 09:02:22 · 1007 阅读 · 0 评论 -
Java-算法分析篇
随着使用计算机的经验的增长,人们在使用计算机解决困难问题或是处理大量数据时将不可避免地参数疑问:1.我的程序会运行多长时间?2.为什么我的程序耗尽了所以内存?问题下面的ThreeSum程序,输入数据的规模N和程序运行时间T有什么关系?import edu.princeton.cs.algs4.In;import edu.princeton.cs.algs4.StdOut;publi...原创 2019-05-16 15:11:52 · 853 阅读 · 0 评论 -
Java之链表实现背包/可迭代泛型数据类型
代码注释都很详细,请仔细阅读://背包的实现import java.util.Iterator;public class BagNode<Item> implements Iterable<Item> { private Node first;//链表的首节点 private class Node { Item item; Node next; }...原创 2019-05-11 22:03:46 · 159 阅读 · 0 评论 -
Java反转链表
编写一个函数,接受一条链表的首节点作为参数,将链表反转并返回结果链表的首节点解法一迭代方式解答:需要记录原链表中三个连续的结点:reverse/first/second。在每轮迭代中,从原链表中提取结点first并将它插入到逆链表的开头。同时需要一直保持first指向原链表中所有剩余结点的首节点,second指向原链表中所有剩余结点的第二个结点,reverse指向结果链表中的首结点。 ...原创 2019-05-18 21:06:35 · 216 阅读 · 0 评论 -
Java之归并排序
排序算法命题一没有任何基于比较的算法能够保证使用少于lg(N!)~NlgN次比较将长度为N的数组排序这个结论告诉我们在设计排序算法时能够达到的最佳效果。归并排序1.归并排序是高效算法设计中分治思想的最典型地一个例子;2.对于长度为N的任意数组,自顶向下的归并排序需要1/2NlgN到NlgN次比较。自顶向下的归并排序package Sort;public class Merge...原创 2019-05-28 11:19:17 · 127 阅读 · 0 评论 -
Java 多线程编程(三)之脏读DirtyRead?
脏读脏读:读到在写的过程中还没有写完的数据原因:写!加锁了,读没有加锁。(业务代码没有对读加锁,且线程共享进程内部数据!)设计程序时候,一定要注意业务的整体性。也就是要注意上节学的资源的共享,则一定要同步。不然就会发生错误。比如经典的脏读(dirtyread)/** * 对业务不加锁容易产生脏读问题/DirtyRead/ * @author Forever * */import...原创 2019-07-21 20:49:32 · 269 阅读 · 0 评论 -
Java高并发编程吐血学习篇(尽量做到全面)
1.https://www.runoob.com/java/java-multithreading.html2。https://juejin.im/entry/58f1d35744d904006cf14b173.https://blog.csdn.net/evankaka/article/details/44153709这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理...转载 2019-07-16 16:59:31 · 272 阅读 · 0 评论 -
Java之乐观锁与悲观锁
1.乐观锁1)操作数据时不会对操作的数据进行加锁(这使得多个任务可以并行的对数据进行操作),只有到数据提交的时候才通过一种机制来验证数据是否存在冲突(一般实现方式是通过加版本号然后进行版本号的对比方式实现);2)总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和CAS算法实现。特点:1.乐...原创 2019-07-15 20:42:44 · 130 阅读 · 0 评论 -
HashMap、Hashtable、HashSet和ConcurrentHashMap掐死版本
1.HashMap1).HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。2).HashMap 底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个 HashMap 的时候,就会初始化一个数组。2.HashMap和Hashtable的区别1.) 两者最主要的区别在于Hashtable是线程安全,而Has...原创 2019-07-15 20:16:56 · 163 阅读 · 0 评论 -
Java中Vector和ArrayList的区别/synchronized关键字
都是实现了List接口首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:1.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满...原创 2019-07-14 18:37:26 · 268 阅读 · 0 评论 -
Java中Arraylist 与 LinkedList 异同
1.大概描述ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只是实现的方式有所不同;而List接口继承了Collection接口,Collection接口又继承了Iterable接口,因此List同时拥有了Collection与Iterable接口的特性.ArrayList:底层是数组结构,查询快,增删慢,异步,初始容量为10。Lin...原创 2019-07-14 13:15:10 · 220 阅读 · 0 评论 -
Java中接口和抽象类的区别
1.从声明上: 抽象类是一个类,使用class声明;还需要使用关键字abstract修饰; 接口不是一个类,使用interface声明;2.从能够书写的成员上看 抽象类是一个类,类中可以书写成员,抽象方法和非抽象方法; 接口只能书写成员变量和抽象函数,而且修饰符是固定的;3.从有无构造函数上看 抽象类必须有构造函数; 接口没有构造函数(严格意义上不叫一个类,所以没有构造函数);...转载 2019-07-14 11:41:43 · 95 阅读 · 0 评论 -
Java快排一份实现
快速排序归并排序:1.将数组分为两个子数组分别排序,并将有序的子数组归并以将整个数组排序;2.归并排序递归发生在处理数组之前;3.递归排序数组被等分为两半。快速排序:1.当两个子数组都有序时,整个数组就自然有序了;2.递归发生在处理数组之后;3.切分(partition)数组取决于数组的内容。package sort2;public class Quicksort { /*...原创 2019-05-29 21:49:06 · 131 阅读 · 0 评论 -
Java之链表实现先进先出队列/可迭代泛型数据类型
话不多说,直接进入正题吧,代码很详细:/* 1.链表是一种递归的数据结构,它或者为空(null),或者是指向一个节点(node)的引用,该节点含有一个泛型的元素和一个指向另一条链表的引用; 2.嵌套类来定义抽象数据类型: private class Node { Item item; Node next; } 3.Node的初始化为null; 4...原创 2019-05-11 21:58:27 · 574 阅读 · 0 评论 -
Java初级排序算法:选择排序、插入排序、希尔排序
排序类算法模板package Sort;import edu.princeton.cs.algs4.In;public class Example { public static void sort(Comparable[] a) {/*各种排序算法:选择排序、插入排序、希尔排序*/} private static boolean less(Comparable v,Compa...原创 2019-05-24 21:29:57 · 132 阅读 · 0 评论 -
随机连接
编写一段Java程序,从命令行接受一个整数N和double p(0到1之间)作为参数,在一个圆上画出大小为0.05且间距相等的N个点,然后将每对点按照概率p用灰线连接。import edu.princeton.cs.algs4.StdDraw;import edu.princeton.cs.algs4.StdRandom;这是引入包,首先我们需要导入两个库:1.下载stdlib.jar...原创 2019-05-05 14:55:26 · 542 阅读 · 0 评论 -
目前是研究生在读学生,使用Tomcat时在接收Socket数据的问题想向您请教!
看到这篇帖子的朋友,您好! 先自我介绍一下。我是一名在读的研究生二年级的学生,目前在做项目的过程中卡在这个问题已经一个月了,苦思无解,所以前来求助!希望知道实现方法的您有空的话帮助一下!问题:想接收硬件模块通过Socket方法发送到本地Tomcat服务器的数据。想实现的目标:硬件电路板采集的数据通过4G模块(4G模块是买的产品)发送到我自己的Tomcat服务器上。目前已经在自己的...原创 2018-09-14 22:23:35 · 338 阅读 · 0 评论 -
Tomcat+MySQL为自己的APP打造服务器(4)完结篇
我是好文章搬运工:https://blog.csdn.net/a_running_wolf/article/details/70828280转载 2018-09-14 22:09:54 · 202 阅读 · 0 评论 -
Tomcat+MySQL为自己的APP打造服务器(3-3)Json数据交互
好文章搬运: https://blog.csdn.net/a_running_wolf/article/details/70246277转载 2018-09-14 22:09:21 · 225 阅读 · 0 评论 -
Tomcat+MySQL为自己的APP打造服务器(3-2)Android 和 Service 的交互之POST方式
好文章搬运工: https://blog.csdn.net/a_running_wolf/article/details/53870810转载 2018-09-14 22:08:47 · 440 阅读 · 0 评论 -
Tomcat+MySQL为自己的APP打造服务器(2-3)Servlet连接MySQL数据库
好文章搬运: https://blog.csdn.net/a_running_wolf/article/details/51763344转载 2018-09-14 22:07:57 · 294 阅读 · 0 评论 -
Tomcat+MySQL为自己的APP打造服务器(2-1)Servlet的使用
好文章: https://blog.csdn.net/a_running_wolf/article/details/51377550转载 2018-09-14 22:07:00 · 197 阅读 · 0 评论 -
Tomcat+MySQL为自己的APP打造服务器(1)服务器环境搭建
这篇文章超级好: https://blog.csdn.net/a_running_wolf/article/details/51174938转载 2018-09-14 22:05:57 · 209 阅读 · 0 评论 -
Java将算术表达式由中序表达式转化为后序表达式
如题,使用Java将中序表达式转化为后序表达式import java.util.Scanner;import java.util.Stack;public class Q100310 { private static void infixToPostfix(String exp) { String[] params=exp.split(" "); Stack<Strin...原创 2019-05-13 19:45:05 · 466 阅读 · 1 评论 -
使用Java一篇文章学会包,队列和栈
1.首先下载两个jar库:stdlib.jar和algs4.jar包点击下载2.将这两个包导入自己的Eclipse中:步骤如下:1、右键点击你需要添加jar包的项目。2、选择“Properties”。3、然后选择对话框中的“Java Build Path”。4、选择“Libraries”选项卡,然后点击右边的“Add External JARS“,然后找到你的jar所存放的路径,选择...原创 2019-05-08 21:58:23 · 366 阅读 · 0 评论 -
Java之链表实现下压堆栈/可迭代
这个泛型的栈实现的基础是链表数据结构,它可以用来任意数据类型的栈。首先写一个简单的链表的遍历:for(Node x=first;x!null;x=x.next){ //处理x.item}进入正题,用链表实现泛型的栈:import java.util.Iterator;public class StackNode<Item> implements Iterable&l...原创 2019-05-10 21:41:04 · 174 阅读 · 0 评论 -
Java学习之直方图
题目:假设标准输入流中含有一系列double 值。编写一段程序,从命令行接受一个整数N 和两个double 值l 和r。将(l,r) 分为N 段并使用StdDraw 画出输入流中的值落入每段的数量的直方图。1.首先下载两个jar库:stdlib.jar和algs4.jar包点击下载2.将这两个包导入自己的Eclipse中:步骤如下:1、右键点击你需要添加jar包的项目。2、选择“Pro...原创 2019-05-07 21:56:20 · 2109 阅读 · 2 评论 -
矩阵库
编写一个Matrix 库并实现以下API:public class Matrixstatic double dot(double[] x, double[] y) 向量点乘static double[][] mult(double[][] a, double[][] b) 矩阵和矩阵之积static double[][] transpose(double[][] a) 转置矩阵stati...原创 2019-05-07 21:47:10 · 218 阅读 · 0 评论 -
Java之得到后序表达式,求值并打印结果。
编写一段程序EvaluatePostfix,从标准输入中得到一个后序表达式,求值并打印结果。后序表达式求解起来比较简单,读到数放入堆栈中,读到运算符,从堆栈中取数字进行运算,然后将结果放回堆栈。最后堆栈中只有一个元素,就是表达式的值。代码:import java.util.Scanner;import java.util.Stack;public class Q100311 { ...转载 2019-05-14 21:59:28 · 327 阅读 · 0 评论 -
一份可迭代的栈API,几乎实现所有集合类抽象数据类型/动态调整数组大小(泛型、动态调整大小、栈)
这个算法十分重要,几乎达到了任意集合数据类型实现的最佳性能:1.每项操作的用时都与集合大小无关;2.空间需求总是不超过集合大小的两倍(可修改);push()和pop()中可以动态调整数组大小。当然缺点在于某些push()和pop()操作会调整数组的大小:这项操作得耗时与栈大小成正比。下面是代码实现:import java.util.Iterator;//下压栈(能够动态调整数组大小的实...原创 2019-05-10 08:37:24 · 144 阅读 · 0 评论 -
Dijkstra双栈算术表达式求值算法----Java双栈法求算术表达式的值
1.首先下载两个jar库:stdlib.jar和algs4.jar包点击下载2.将这两个包导入自己的Eclipse中:步骤如下:1、右键点击你需要添加jar包的项目。2、选择“Properties”。3、然后选择对话框中的“Java Build Path”。4、选择“Libraries”选项卡,然后点击右边的“Add External JARS“,然后找到你的jar所存放的路径,选择...原创 2019-05-09 22:14:24 · 234 阅读 · 0 评论 -
Java双链表编程练习
问题实现一个嵌套类DoubleNode用来构造双向链表,其中每个结点都含有一个指向前驱元素的引用和一个指向后续元素的引用(如果不存在则为null)。为以下任务实现若干静态方法:在头插入结点在表尾插入结点从表头删除结点从表尾删除结点在指定结点前插入新结点在指定结点之后插入新结点删除指定结点代码:package test;public class DoubleList<...转载 2019-05-19 21:51:30 · 181 阅读 · 0 评论 -
Java求平均数的可视化
编写一个可视化的求平均值的Java程序1.首先下载两个jar库:stdlib.jar和algs4.jar包点击下载2.将这两个包导入自己的Eclipse中:步骤如下:1、右键点击你需要添加jar包的项目。2、选择“Properties”。3、然后选择对话框中的“Java Build Path”。4、选择“Libraries”选项卡,然后点击右边的“Add External JARS...原创 2019-05-06 21:58:25 · 397 阅读 · 2 评论 -
Java 多线程编程(三)之 synchronized锁的重入
锁的重入知识点:synchronized 是可重入锁!详解:一旦有一个线程访问某个对象的synchronized修饰的方法或代码区域时,该线程则获取这个对象的锁,其他线程不能再调用该对象被synchronized影响的任何方法。那么,如果这个线程自己调用该对象的其他synchronized方法,Java是如何判定的?这就涉及到了Java中锁的重要特性:可重入性。维基百科:若一个程序或子程...原创 2019-07-21 21:02:17 · 118 阅读 · 0 评论