【java-如何提高此实现的效率】教程文章相关的互联网学习教程文章

自定义序列化和反序列化的java实现【代码】

package j2se.IO;import java.io.*;/** * Created by jingqing.zhou on 2015/6/12. * ByteArrayOutputStream :可以捕获内存缓冲区的数据,转换成字节数组。 * DataInputStream&DataOutputStream关心如何将数据从高层次的形式转化成低层次的形式. * FileInputStream&FileOutputStream关心如何操作存储单元以接受和产生数据。 */ public class ByteArrayIO { //序列化对象为String字符串,先对序列化后的结果进行BASE64编码...

反向代理实现同域名下PHP和Java共存【代码】【图】

1、背景介绍之前一直从事PHP开发工作,公司内业务均由PHP实现,最近由于公司架构微调,分配了几个Java项目给团队,但是由于团队对Java不熟悉,有几人对Java理解程度也是略懂,这里说的略懂,真的是略懂,所以不敢直接改Java代码。那么怎么办呢?经过商量将Java项目的新需求,暂时还是用PHP来实现,但是有一个前提:域名和URL不能变,不能Java代码用一个域名,PHP用另外一个,因为项目提供的接口有被手机APP客户端调用,如果更改接口...

Java 8 Lambda实现原理分析【代码】

PDF文档已上传Github Github:https://github.com/zwjlpeng/Angrily_Learn_Java_8为了支持函数式编程,Java 8引入了Lambda表达式,那么在Java 8中到底是如何实现Lambda表达式的呢? Lambda表达式经过编译之后,到底会生成什么东西呢? 在没有深入分析前,让我们先想一想,Java 8中每一个Lambda表达式必须有一个函数式接口与之对应,函数式接口与普通接口的区别,可以参考前面的内容,那么你或许在想Lambda表达式是不是转化成与之对应的...

SSM框架下分页的实现(封装page.java和List<?>)【代码】

之前写过一篇博客 java分页的实现(后台工具类和前台jsp页面),介绍了分页的原理。今天整合了Spring和SpringMVC和MyBatis,做了增删改查和分页,之前的逻辑都写在了Servlet里,如今用了SSM框架,业务逻辑应该放在业务层(service),这里有一个小问题:实现分页时,我们需要向页面中传两个参数:page对象(封装了页码,页容,总页数,总记录数,取得选择记录的初始位置)集合对象(封装了bean类的信息)也就是说,我们需要从serv...

JavaSE入门学习36:Java集合框架之Set接口及其实现类HashSet和TreeSet【图】

一Set接口 Set接口可以与数学中的集合的概念相对应。Set接口是Collection接口的子接口,Set接口里多个对象之间没有明显的顺序。具体详细方法请参考API文档(可见身边随时带上API文档有多重要),基本与Collection接口中定义的方法相同。只是行为不同(Set不允许包含重复元素)。 Set集合不允许重复元素,是因为Set判断两个对象相同不是使用==运算符,而是根据equals()方法。即两个对象用equals()方法比较返回true,Set就不能...

几种任务调度的 Java 实现方法与比较--转载【代码】

前言任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。 回页首Timer相信大家都已经非常熟悉 java.util.Timer 了,它是最简单的一种实现任务调度的方法,下面给出一个具体的例子:清单 1. 使用 Timer 进行任务调度 package c...

java实现UDP聊天---转载

import java.io.*;import java.net.*;class Send implements Runnable{private DatagramSocket ds;public Send (DatagramSocket ds){this.ds = ds;}public void run(){try{BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));String line = null;while((line = bufr.readLine())!=null){if("bye".equals(line))break;byte[] buf = line.getBytes();DatagramPacket dp = new DatagramPacket(buf,buf.leng...

【转】Java并发编程:Synchronized及其实现原理【代码】【图】

一、Synchronized的基本使用  Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。从语法上讲,Synchronized总共有三种用法:  (1)修饰普通方法  (2)修饰静态方法  (3)修饰代码块  接下来我就通过几个例子程序来说明一下这三种使用方式(为了便于比较,三段...

从零写Java Web框架——实现Ioc依赖注入【代码】【图】

大概思路通过读取配置文件,获取框架要加载的包路径:base-package,类似于 Spring 配置文件中的:<context:component-scan base-package="*"/>将 base-package 路径下的所有类都加载,并保存在一个 Set<Class<?>> classSet 中;初始化 Bean 容器,遍历 classSet,通过反射获得 Class 的实例,并保存 Class 与 Class实例的映射关系,即 Map<Class<?>, Object> instanceMap;初始化 Ioc,遍历 Bean 容器,找出有 @Controller 注解的...

Java实现双链表

public class DoubleLink<T> {//存放第一个指针private Node<T> firstNode;//存放最后一个指针private Node<T> lastNode;//存放链大小private int size;//构造函数public DoubleLink() {}// --------------------------------add()系列----------------------------------public void addFirst(T data) {linkFirst(data);}public void addLast(T data) {linkLast(data);}public void add(T data) {linkLast(data);}public void l...

Java高级架构师(一)第12节:Service的实现以及模块化【代码】

BaseService.javapackage com.sishuok.architecture1.common.service;import java.util.List;import com.sishuok.architecture1.common.dao.BaseDAO; import com.sishuok.architecture1.common.vo.BaseModel; import com.sishuok.pageutil.Page;public class BaseService<M, QM extends BaseModel> implements IBaseService<M,QM> {private BaseDAO dao = null;public void setDAO(BaseDAO dao){this.dao = dao;}public void creat...

Java实现手机号的匹配验证【代码】

通过正则匹配实现手机号的验证: 1package demo;2 3import java.util.regex.Matcher;4import java.util.regex.Pattern;5 6publicclass PhoneValidate {7 8publicstaticvoid main(String[] args) {9 String value="17518900000"; 10 Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"); 11 Matcher m = p.matcher(value); 12 System.out.println(m.matches());//boolea...

Java 实现二分(折半)插入排序

设有一个序列a[0],a[1]...a[n];其中a[i-1]前是已经有序的,当插入时a[i]时,利用二分法搜索a[i]插入的位置效率:O(N^2),对于初始基本有序的序列,效率上不如直接插入排序;对于随机无序的序列,效率比直接插入排序要高/** 二分(折半)插入排序* 设有一个序列a[0],a[1]...a[n];其中a[i-1]前是已经有序的,当插入时a[i]时,利用二分法搜索a[i]插入的位置*/ public class BinaryInsertSort {public static void main(String[] args) {int ...

Java多线程实现的三种方式

Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start(...

栈--java实现【代码】

栈:后进先出 LIFO生活实例:先进电梯后出来存储元素的基本结构:publicclass Node {/*元素有两部分:元素的值下一个元素的引用*/Object data;//数据域Node next; //指针域public Node(){}public Node(Object data,Node next){this.data=data;this.next=next;} }实现栈:/*** Created by yaming* 栈的链式存储*/publicclass LinkStack{private Node top;//栈顶元素privateint size;//当前栈大小public LinkStack(){top=null;}/*** 当...