时间:2021-05-19
将数据加载到内存中
1、建立InitListener.java
package app.util; import java.util.HashMap;import java.util.Map; import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet; import org.jboss.logging.Logger;import org.springframework.web.context.ContextLoader;import org.springframework.web.context.WebApplicationContext; import com.test.ResourceService; /** * 加载数据到内存案例 * @author 浅陌 * */public class InitListener extends HttpServlet implements ServletContextListener { /** * */ private static final long serialVersionUID = 1L; public static Map<String, Object> contextMap=new HashMap<String,Object>(); private Logger logger = Logger.getLogger(InitListenerMobileResourceTree.class); public void init() throws ServletException{ // logger.info("====初始化方法运行初完毕===="); } @Override public void contextDestroyed(ServletContextEvent arg0) { logger.info("this is last destroyeed "); } @Override public void contextInitialized(ServletContextEvent sce) {//获取要加载的数据方法 try { /* *如果在获取数据时用到其他项目包中的接口,可以用如下方法 * WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext(); * ResourceService resourceService = (ResourceService) wac.getBean("resourceService");// 跑批接口的实现类 * 在springMVC.XML 中加入 * <bean id="resourceService" class="com.test.ResourceService" /> */ String JsonStr = 获取加载出来的数据(类型视情况而定) //将数据放到定义好的contextMap中 contextMap.put("JsonStr", JsonStr); } catch (Exception e) { e.printStackTrace(); } logger.info(contextMap); }}2.配置web.xml
<listener> <listener-class>app.util.InitListener</listener-class></listener>3.获取内存中的数据
InitListener.contextMap.get("JsonStr");
补充知识:java 字节流——将硬盘中的文件读到内存中,将内存中的数据写入硬盘中
我就废话不多说了,大家还是直接看代码吧~
package com.oracle.core;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public class ByteStream_Study{ public static void main(String[] args) throws IOException { // 输入流 //从硬盘到内存,文件必须存在 InputStream in=new FileInputStream("D:\\hello.txt"); //1.分配一块内存空间 临时的空间 存放我文件的数据 byte[] b=new byte[in.available()]; //2.将数据读入到内存空间 in.read(b); //3.将数据转换为字符串 //如果编码是UTF-8 可以省略 String s=new String(b,"GBK"); System.out.println(s); in.close(); // 输出流 //从内存到硬盘 //文件不存在 输出流会自动创建这样一个文件 OutputStream out=new FileOutputStream("D:\\haha.txt"); String s1="再见"; //输入还是输出流 操作的都是内存空间 字节数组 out.write(s1.getBytes()); out.close(); }}以上这篇java 将数据加载到内存中的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
待机,电脑只对内存供电,其他部件关闭,数据仍保存在内存中。休眠,电脑内存中的数据写入硬盘,关闭电脑。重新启动的时候重新将数据加载到内存中,恢复休眠前状态。睡眠,
本文实例讲述了Java类加载器和类加载机制。分享给大家供大家参考,具体如下:一点睛1类加载器负责将.class文件(可能在磁盘上,也可能在网络上)加载到内存中,
python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。withopen('file.txt','r')a
Scala的环境搭建由于scala是基于java来开发的,编写的java类可以使用javac命令编译成.class文件被JVM加载到内存中执行!那么scala可
一、类的加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机