
java
文章平均质量分 67
李奇峰1998
吾生也有涯,而知也无涯
展开
-
【2022持续更新】大数据最全知识点整理-Java篇
大数据最全知识点整理-Java篇语言特性string,stringgbuffer,stringbuilder区别:== 和equals区别ArrayList和LinkedList的区别HashTable和HashMap区别并发与多线程JAVA多线程实现的四种方式Thread 类中的start() 和 run() 方法有什么区别?volatile 和synchronized ?什么是线程池? 为什么要使用它?JVM内存模型简述GC内存回收类加载顺序new一个对象的具体过程双亲委派机制语言特性string,原创 2021-01-26 21:05:10 · 1045 阅读 · 1 评论 -
RabbitMq连接Java与Python
最近用Python写了一个爬虫项目,为了方便,用Java做了一个控制端,然后用RabbitMq将他们串起来首先Java端的代码,生产者与消费者都采用的单例模式,其中消费者在tomcat启动时自动进行消费。话不多说,上代码//消费者public class ScrapyRabbitCon{ //队列名 private final static String QUEUE_NAME ...原创 2019-02-07 18:05:20 · 1639 阅读 · 0 评论 -
Java实现Kafka生产者与消费者
消费者类import org.apache.kafka.clients.producer.*;import org.apache.log4j.Logger;import java.util.Properties;/** * @author liqifeng * 此类使用Holder单例模式实现了kafka生产者 */public class TestProducer { ...原创 2018-12-26 23:07:45 · 2191 阅读 · 1 评论 -
高效代码之我见 => 李奇峰
还有一个月结束大二生活,以下仅为本人自大一从一个小白开始学习,至今不到两年的学习与工作当中总结的一些经验与见解。不足之处请在评论区留言,望多多指教项目构思与详细设计遇到需求后先梳理清楚大体的逻辑,接下来构思项目结构与流程。最好可以将构思结果落到概要设计与详细设计中,这样在写代码的时候才会更加流畅。 以前在写代码的时候往往脑子里有一个雏形就开始动手,到后来随之项目的不断推进和完善,就发...原创 2018-06-15 10:04:35 · 698 阅读 · 2 评论 -
JDK9新特性
继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发布已经提上日程。预计在2016年发布Java 9,同时公布了JEP(JDK改进提议)中的前期列表。任职于Takipi 的Alex Zhitnitsky整理了Java 9中一些纳入JSR(Java规范提案)的新特性和大家一直期待但未确定的一些特性。这些特性有Jigsaw项目、新的智能编译工具、期待已久的API(转载 2017-10-11 22:18:00 · 238 阅读 · 0 评论 -
Java测试字节流和字符流,以及带缓存的字符流读取速度对比
测试用的文件为txt格式文件,大小为2.12MBpackage IO;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader; /** * 我创建原创 2017-09-23 20:54:33 · 1823 阅读 · 2 评论 -
Java Swing入门简介
UI 组件简介在开始学习 Swing 之前,必须回答针对真正初学者的一个问题:什么是 UI?初学者的答案是“用户界面”。但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。所以,我再次提出这个问题:什么是 UI?您可能把它定义成您按下的按钮、打字的地址栏 、打开和关闭的窗口,等等,这些都是 UI 的元素,但是除了在屏幕上看到的这些之外,还有更多都是 UI 元素。比如原创 2017-06-22 19:20:51 · 885 阅读 · 0 评论 -
JAVA图形化界面实现文件的“读取和写入”
本段程序结合I/O和Swing图形界面进行编写 源代码如下package IO;import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;原创 2017-06-06 17:25:03 · 11709 阅读 · 17 评论 -
Jsp基本语法
JSP全名为Java Server Pages,中文名叫java服务器页面。是一种运行在服务器的语言,也是一种动态网页技术标准,他是在HTML语言中插入Java程序段,从而形成JSP文件。 JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。 JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信原创 2017-04-22 20:39:17 · 353 阅读 · 0 评论 -
Java IO
初学Java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。 首先看个图:(如果你也是初学者,我相信你看了真个人都不好了,想想java设计者真是煞费苦心啊!)这是Java io 比较基本的一些处理流,除此之外我们还会提到一些比较深入的基于io的处理类,比如c转载 2017-04-12 09:23:15 · 231 阅读 · 0 评论 -
Java序列化
导语程序运行时,在变量、数组和对象中存储的数据是暂时的,程序结束后他们就会丢失。为了保存程序运行的状态和产生的数据,避免每次程序启动都被初始化,我们可以将程序运行的状态和数据保存下来,等到程序再次启动的时候有选择性的恢复,这样我们就不必每次启动都要重新来过了,并且可以在其他的程序中使用。我们有两种方法来保存程序运行的状态和数据,分别是序列化和写入纯文本文件序列化我们可以将被序列化的对象写到文件中,然原创 2017-04-11 19:45:02 · 220 阅读 · 0 评论 -
Java网络编程总结
一、网络编程基本概念1.OSI与TCP/IP体系模型2.IP和端口 解决了文章最开始提到的定位的问题。IP在互联网中能唯一标识一台计算机,是每一台计算机的唯一标识(身份证);网络编程是和远程计算机的通信,所以必须先能定位到远程计算机;IP帮助解决此问题;一台计算机中可能有很多进程,具体和哪一个进程进行通信,这就得靠端口来识别;IP和端口能唯一定位到需要通信的进程。这里的IP表示地址,区别于IP协议转载 2017-04-09 11:18:49 · 224 阅读 · 0 评论 -
线程的启动与休眠
上一节介绍了线程的创建之后呢,我们来讲讲线程的启动与休眠 在讲具体内容之前,我们先来介绍一下线程的五种状态Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好原创 2017-04-05 22:10:24 · 1529 阅读 · 0 评论 -
JAVA线程的创建(学习笔记)
导语线程区别于进程,进程是单独运行的一个程序,线程是程序运行时的不同工作。一个程序可以同时完成多种不同的工作,这些都是依靠线程来实现的Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线原创 2017-04-05 21:19:43 · 322 阅读 · 0 评论 -
通过反射访问方法(学习笔记)
这一节的讲解我们也分为三个小部分,和上一节讲的访问成员变量的形式差不多,分别是通过getMethods()等方法获得类中的方法,然后以数组形式返回通过getName(),isVarAges()等方法获得该方法的具体信息通过invoke(Object obj,Object…Args)利用指定参数Args执行制定对象obj中的该方法,返回值为Object类型首先我们先来看第一部分,通过getMet原创 2017-03-29 21:10:25 · 364 阅读 · 0 评论 -
通过反射访问成员变量(学习笔记)
访问成员变量这一部分的内容其实很简单,主要分为三个小部分通过getFiled()等方法获得类中的成员变量,然后以数组形式返回通过getName(),getType()等方法获得成员变量的具体信息通过setInt(),set()等方法为成员变量赋值首先我们先来看第一部分,通过getFiled()等方法获取类中的成员变量 其实这一步和我们上次讲的获得构造方法差不多 getFields() 此方原创 2017-03-29 20:03:22 · 399 阅读 · 0 评论 -
通过反射访问构造方法(学习笔记)
首先先来看一下反射的概念 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 简言之就是通过反射机制,程序在运行时能够获取自身的信息并且修改;而且是类中有什么信息,它就可以获得什么信息,不过前提是得知道类的名字,要不就没有后文了 接下来我们分别来看一下反射机制可以访问到的主要描述信息和具体用法吧首先我们原创 2017-03-24 22:57:36 · 516 阅读 · 0 评论 -
集合的学习笔记
首先,我们要明白什么是集合,集合的定义是什么: 集合,又称作容器,提到容器,我们不难想到数组,集合与数组不同的是数组是用来保存基本类型的,而集合是用来保存对象的引用,不可以存放基本类型集合的长度是不固定的,而数组的长度是固定的。数组转换为集合:Arrays.asList(数组),集合转换为数组:集合.toArray();常见的集合一共有三类Map:映射Set,代表无序,不原创 2017-03-18 15:50:57 · 344 阅读 · 0 评论 -
泛型,枚举,的学习笔记
泛型:首先,我理解的泛型就是没有定义的类的模型,在定义类的时候只需要在后面加一个<>,就可以了, 例如 public class Fanxing<T>; 我们可以直接创建一个泛型: Fanxing<String> fanxing=new Fanxing<String>(); 上述代码需要注意的是,泛型对象在创建的时候必须指明创建的类型,否则不予通过; 泛型对于我们来说,避免了基本类型在转原创 2017-03-18 10:28:09 · 619 阅读 · 0 评论