精华内容
下载资源
问答
  • java系统
    千次阅读
    2019-01-18 12:28:44
                   

    java.io.FileNotFoundException: G:\HibernateWorkspace\codedog\out\artifacts\codedog_war_exploded\uploadFiles\logo1.png


    其实这个需要 G:\HibernateWorkspace\codedog\out\artifacts\codedog_war_exploded下面有一个uploadFiles文件夹的

    然而intellij idea 这个逗逼编辑器 在用的时候 是你在这个web目录下的空文件夹他是不给你部署的。


    所以调了一个多小时 才调出来。。


    解决方法就是 要么在 G:\HibernateWorkspace\codedog\out\artifacts\codedog_war_exploded\里面手动建立一个 uploadFiles文件夹  或者在  web下面建立一个文件  并且添加一个任意的文件。


               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    更多相关内容
  • java系统属性(Java System Properties)

    千次阅读 2019-01-09 14:25:23
    每个java系统属性都是键值(String-String)对,例如“ java.version”=“1.7.0_09 ”。您可以通过检索所有系统属性,System.getProperties()也可以通过检索单个属性System.getProperty(key)。 请注意,Java安全...

    java为其操作维护一组系统属性。每个java系统属性都是键值(String-String)对,例如“ java.version”=“1.7.0_09 ”。您可以通过检索所有系统属性,System.getProperties()也可以通过检索单个属性System.getProperty(key)

    请注意,Java安全管理器和策略文件可以限制对系统属性的访问。默认情况下,Java程序可以无限制地访问所有系统属性。

    目录
    
    重要Java系统属性
    获取系统属性
    设置系统属性

    重要的Java系统属性

    1. JRE相关的系统属性

      java.homeJRE主目录,例如“ C:\Program Files\Java\jdk1.7.0_09\jre”。
      java.library.path用于搜索本机库的JRE库搜索路径。它通常但不一定取自环境变量PATH。
      java.class.pathJRE类路径,例如,'.'(点 - 用于当前工作目录)。
      java.ext.dirsJRE扩展库路径,例如“ C:\Program Files\Java\jdk1.7.0_09\jre\lib\ext;C:\Windows\Sun\Java\lib\ext”。
      java.versionJDK版本,例如1.7.0_09
      java.runtime.versionJRE版本,例如1.7.0_09-b05
    2. 文件相关的系统属性

      file.separator文件目录分隔符的符号,例如'd:\test\test.java'。默认适用'\'于Windows或'/'Unix / Mac。
      path.separator用于分隔路径条目的符号,例如,PATHCLASSPATH。默认适用';'于Windows或':'Unix / Mac。
      line.separator行尾(或新行)的符号。默认适用"\r\n"于Windows或"\n"Unix / Mac OS X.
    3. 用户相关的系统属性

      user.name用户的名字。
      user.home用户的主目录。
      user.dir用户的当前工作目录。
    4. OS相关的系统属性

      os.name操作系统的名称,例如“ Windows 7”。
      os.version操作系统的版本,例如“ 6.1”。
      os.archOS的架构,例如“ x86”。

    获取系统属性

    如前所述,您可以通过System.getProperties()或通过检索单个属性来获取所有系统属性System.getProperty(key)

    import java.util.Properties;

    public class PrintSystemProperties

    {

       public static void main(String[] a)

       {

          // List all System properties

          Properties pros = System.getProperties();

          pros.list(System.out);

      

          // Get a particular System property given its key

          // Return the property value or null

          System.out.println(System.getProperty("java.home"));

          System.out.println(System.getProperty("java.library.path"));

          System.out.println(System.getProperty("java.ext.dirs"));

          System.out.println(System.getProperty("java.class.path"));

       }

    }

    设置系统属性

    在java中,您可以从命令工具或Java代码本身设置自定义系统属性。

    1. 从命令行设置系统属性(“-D”选项)

      java -Dcustom_key="custom_value" application_launcher_class

    2. 使用System.setProperty()方法从代码设置系统属性

      System.setProperty("custom_key""custom_value");

    这就是用于在java中读取和编写系统属性的基本教程。

    展开全文
  • Java系统日志管理

    万次阅读 2018-07-06 15:24:06
    在一个系统中日志管理是一个很重要的部分,因为当系统发布到线网后出了问题只能看系统日志了,这个时候系统日志起到了一个错误排查功能,同时也可以通过系统日志统计用户吞吐量等等,总之系统日志是系统管理一个重点...
    在一个系统中日志管理是一个很重要的部分,因为当系统发布到线网后出了问题只能看系统日志了,这个时候系统日志起到了一个错误排查功能,同时也可以通过系统日志统计用户吞吐量等等,总之系统日志是系统管理一个重点。
    本系统架构为SpringMVC,myBatis,Shrio等等。

    1.SpringMVC异常处理
    SpringMVC负责接收用户请求并进行处理然后将结果返回给用户,那么为了不让异常抛给用户,我们一般在Controller类下每个方法都加上一个try{}catch(Exception e){},实例代码如下:
    /**
    	 * pengweikang 20170220 用户登陆
    	 * 
    	 * @param cgbUser
    	 *            用户信息
    	 * @param session
    	 * @return
    	 */
    	@RequestMapping(value = "/login", method = RequestMethod.POST)
    	public @ResponseBody String userLogin(HttpServletRequest request) {
    		try {
    		     .....	 //Service方法调用
    		} catch (Exception e) {
    		     .....      //异常处理
    		} 
    		return null;
    	}

    该方法的缺点是代码冗余,不利于维护,一看就不想是一个专业的软件工程师应该写的,优化办法如下:

    其实SpringMVC给我们提供了一个控制器增强标签,名称为@ControllerAdvice,通过这个标签就可以统一实现异常处理,代码如下:
    创建统一的异常处理类CGBExceptionHandler.java

    import javax.servlet.http.HttpServletRequest;
    import org.apache.commons.lang.exception.ExceptionUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    
    import ch.qos.logback.classic.Level;
    import net.sf.json.JSONObject;
    
    /**
    *@author		create by pengweikang
    *@date		2018年6月27日--下午12:49:23
    *@problem
    *@answer
    *@action
    */
    @ControllerAdvice
    public class CGBExceptionHandler {
    	ch.qos.logback.classic.Logger loggerback = (ch.qos.logback.classic.Logger)LoggerFactory.getLogger("error");
    	{
    		loggerback.setLevel(Level.ERROR);
    	}
        @ExceptionHandler(Exception.class)
        @ResponseBody
        public Object handleException(Exception e,HttpServletRequest rquest) {
        	loggerback.error("错误日志记录");
        	Map dataMap  = rquest.getParameterMap();
            Set<String> keySet = 	dataMap.keySet();
            for(String key : keySet) {
                String [] datas = (String[])dataMap.get(key);
                String value = new String();
                for(String data : datas) {
        	        value +=data+",";
                }
        	    loggerback.error("Param:"+key+" = "+ value.substring(0, value.length() - 1));//将请求参数保存在日志中
            }
        	loggerback.error(ExceptionUtils.getFullStackTrace(e));  // 记录错误信息
            String msg = e.getMessage();
            if (msg == null || msg.equals("")) {
                msg = "服务器出错";
            }
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("message", msg);
            jsonObject.put("state", 0);
            return jsonObject.toString();
        }
    }

    这个时候你的Controller就不用在添加try-catch异常捕获了, 一但方法出了异常就会跳转到CGBExceptionHandler.java这个类的handleException方法。

    2.logback日志管理

    在这个方法中我们将方法调用的的错误消息都记录在日志中,并且将方法调用的参数也报错在错误日志中,logback配置内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd"
        debug="false" scan="true" scanPeriod="30 second">
    
        <property name="PROJECT" value="recognizeSystem" /> 
        <property name="ROOT" value="/opt/apache-tomcat-7.0.82/logs/${PROJECT}/" />
        <property name="FILESIZE" value="50MB" />
        <property name="MAXHISTORY" value="100" />
        <timestamp key="DATETIME" datePattern="yyyy-MM-dd HH:mm:ss" />
        <!-- 控制台打印 -->
         <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         	
         	<filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
         
            <encoder charset="utf-8">
                <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n
                </pattern>
            </encoder>
        </appender>
        <!-- ERROR 输入到文件,按日期和文件大小 -->
        <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder charset="utf-8">
                <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${ROOT}%d/error.%i.log</fileNamePattern>
                <maxHistory>${MAXHISTORY}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${FILESIZE}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
        </appender>
        
        <!-- WARN 输入到文件,按日期和文件大小 -->
        <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder charset="utf-8">
                <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>WARN</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${ROOT}%d/warn.%i.log</fileNamePattern>
                <maxHistory>${MAXHISTORY}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${FILESIZE}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
        </appender>
        
        <!-- INFO 输入到文件,按日期和文件大小 -->
        <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder charset="utf-8">
                <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${ROOT}%d/info.%i.log</fileNamePattern>
                <maxHistory>${MAXHISTORY}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${FILESIZE}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
        </appender>
        <!-- DEBUG 输入到文件,按日期和文件大小 -->
        <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder charset="utf-8">
                <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>DEBUG</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${ROOT}%d/debug.%i.log</fileNamePattern>
                <maxHistory>${MAXHISTORY}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${FILESIZE}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
        </appender>
        <!-- TRACE 输入到文件,按日期和文件大小 -->
        <appender name="TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder charset="utf-8">
                <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>TRACE</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${ROOT}%d/trace.%i.log</fileNamePattern>
                <maxHistory>${MAXHISTORY}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${FILESIZE}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
        </appender>
        
        <!-- SQL相关日志输出-->
        <logger name="org.apache.ibatis" level="INFO" additivity="false" />
        <logger name="org.mybatis.spring" level="INFO" additivity="false" />
        <logger name="com.github.miemiedev.mybatis.paginator" level="INFO" additivity="false" />
        
        <!-- Logger 根目录 -->
        <root level="DEBUG">
             <appender-ref ref="STDOUT" />
             <appender-ref ref="DEBUG" /> 
            <appender-ref ref="ERROR" />
            <appender-ref ref="WARN" />
            <appender-ref ref="INFO" /> 
            <appender-ref ref="TRACE" />
        </root>
    </configuration>

    该配置文件内容为将不同类型的日志按不同文件进行报错,并且每天记录不同的日志,文件夹按日期进行命名,儿控制台只打印错误日志。

    3.测试

    测试代码如下:

    @Controller
    @RequestMapping(value="/test")
    public class TestController {
    @RequestMapping(value="/exception")
    	public @ResponseBody String throwexcep(int data) throws Exception {
    		int a = data/0;// 一定会抛出 java.lang.ArithmeticException: / by zero		
    		return null;
    	}
    }
    请求 http://localhost:8080/logSystem/test/exception?data=100

    首先看tomcat的log文件夹如下图所示:



    error.0.log日志记录如下:

    [ERROR] 2018-07-06 15:05:39 [http-bio-8080-exec-3] error - 错误日志记录
    [ERROR] 2018-07-06 15:09:30 [http-bio-8080-exec-2] error - 错误日志记录
    [ERROR] 2018-07-06 15:09:30 [http-bio-8080-exec-2] error - Param:data = 100
    [ERROR] 2018-07-06 15:09:30 [http-bio-8080-exec-2] error - ParameterMap:org.apache.catalina.util.ParameterMap@c7832d1
    [ERROR] 2018-07-06 15:09:30 [http-bio-8080-exec-2] error - java.lang.ArithmeticException: / by zero
    	at com.goldenbridge.recognizesystem.controller.ActivitiController.throwexcep(ActivitiController.java:137)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
    	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
    	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
    	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
    	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
    	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
    	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at com.goldenbridge.recognizesystem.utils.SimpleCORSFilter.doFilter(SimpleCORSFilter.java:34)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:748)
    
    

    到此系统日志管理配置完成!


    展开全文
  • JAVA系统之间通信方式总结

    千次阅读 2017-08-14 15:24:10
    据我所知,目前对于Java系统之间通信方式有如下几种: 同步:RMI,Hessian,Burlap,Http invoker 异步:JMS,AMQP RMI: 1.java的远程方法调用,底层(运输层)使用tcp连接,自定义应用层协议,协议格式如...

    据我所知,目前对于Java系统之间通信方式有如下几种:

    同步RMI,Hessian,Burlap,Http invoker

    异步JMS,AMQP


    RMI

    1.java的远程方法调用,底层(运输层)使用tcp连接,自定义应用层协议,协议格式如:rmi:/127.0.0.1/hello

    2.使用方法:

    1).启动java的sdk的bin目录下的注册服务

    2).将待调用方法注册到这个服务中

    3).客服端根据服务url(如rmi:/127.0.0.1/hello)就可以调用这个方法


    Hessian,Burlap:

    1.都是基于http协议的rpc(远程程序调用),都可以跨平台。不同在于Hessian是基于二进制传输,Burlap是基于XML格式传输。它们都是私有的对象序列化机制。

    2.使用方法:

    1).新建一个web项目

    2).写一个需要被远程调用的类

    3).将这个类注册到web.xml中

    4).客户端利用http的url就可以调用对应类的方法


    Http invoker:

    1.这个是spring的产品,利用http协议和java的序列化机制。

    2.使用方法:利用spring框架配置


    JMS:

    1.java消息服务。用两种模型:点对点,发布/订阅

    点对点:利用消息队列,发送者将消息发送给队列,接收者从队列中取出消息。尽管可以有多个接收者,但是每个消息只能被一个接收者取走。

    发布/订阅:多个接收者都监听同一个主题,作为订阅者。发送者发送了主题,所有订阅者都能拿到这个消息。

    2.使用方法:借助于第三方中间件。消息发送给这个中间件,接收者从这个中间件中取走消息


    AMQP:

    1.Advanced Message Queuing Protocol,高级消息队列协议。这个协议自定义了消息的格式,使得发送者和接收者都必须按照这个格式拿到协议,所以利用AMQP可以跨平台。

    2.使用方法:借助于第三方中间件。消息发送给这个中间件,接收者从这个中间件中取走消息






    展开全文
  • Java如何获取系统时间

    万次阅读 2021-07-16 09:23:12
    本篇文章给大家介绍一下Java获取系统时间的四种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 1、通过Date类来获取当前时间 Dateday=newDate(); SimpleDateFormatdf=...
  • java获取当前系统时间方法

    千次阅读 2021-02-12 14:55:13
    import java.text.SimpleDateFormat;import java.util.Calendar;方法一:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String ly_time = sdf.format(new java.util.Date());System.out....
  • Java订餐系统JAVA SWING)

    万次阅读 多人点赞 2018-07-06 18:47:03
    JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。 IDE:NetBeans 8.2.0,NetBeans是开源软件开发集成环境,是一个开放框架。 DataBase:JavaDB,Java自带的数据库。 ...
  • 系统学习Java语言的15个网站

    万次阅读 2021-10-29 09:45:40
    刷题必备网站,Java程序员必须浏览的网站,还有很多关于就业相关的资讯。 网站地址:https://leetcode-cn.com/ 2、Java 官方文档 想要成为一个优秀的Java程序员,必须要学会看官方文档,所以Java官方文档是需要...
  • Java获取当前系统时间

    千次阅读 2020-12-03 16:23:27
    Java获取时间
  • 学生成绩管理系统java实现)

    万次阅读 2021-03-10 03:02:35
    最近在看基础的java教程,发现java很多与c++类似,但也有不少差异,有很多要注意的地方,做了这个成绩管理系统,还没用到类,只是多维数组的应用。期间遇到很多问题,也都经过一一百度解决了。实现的功能: 输入学生...
  • java IOException:系统找不到指定的路径

    千次阅读 2021-02-12 17:50:49
    在开发中,我们可能经常会碰到一个系统找不到指定路径的IO异常。今天我们就来看看,java中的路径究竟是哪个路径。先看一段代码:packagecom.cloud.test;importjava.io.File;importjava.io.IOException;...
  • JAVA后台权限管理系统

    千次阅读 2020-08-19 08:55:52
    一款 Java 语言基于 SpringBoot2.x、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发...
  • Java实现文件管理系统(附带源码)

    千次阅读 2021-04-19 19:46:51
    文件管理越来越受到企业的重视,最近自己也做了个简单的文件管理系统,现与大家分析交流。 一.系统演示
  • Java+Swing实现医院管理系统

    万次阅读 多人点赞 2021-05-03 17:11:40
    Java+Swing实现医院管理系统一、系统介绍二、系统展示1.登录页2.主页面3.病人信息录入4.病人信息操作5.就医档案录入6.处方单录入7.就医档案操作8.医生信息录入9.医生信息操作10.科室信息录入11.科室信息操作12.收费...
  • Java 调用系统命令

    千次阅读 2019-03-16 15:08:15
    Java 调用系统命令 操作 通过 java.lang.Runtime 类用操作系统命令 然后调用run.exec()进程来执行命令程序 package com.framework.test; import java.io.BufferedReader; import java.io....
  • 第一款面向大众的java版的视频管理系统。妖气山视频管理系统理论上可以制作任何类型的视频网站。 软件架构 前端:javaex 后端:ssm 数据库:sql server 2012以上 编译器:eclipse JDK:1.8 tomcat:tomcat8 后台...
  • java超市管理系统

    万次阅读 多人点赞 2018-04-20 16:28:20
    说明:此篇知识面向对象思想的demo,并不涉及到数据库操作,...通过简单的控制台版本的超市管理系统对javase基础知识回顾,熟悉面向对象(java)的开发思想 二:开发代码 商品信息类 /* * 商品信息类 */ p...
  • Java 应用性能监控系统 JavaMonitor

    千次阅读 2018-11-29 17:58:28
    Java应用性能监控系统 1.简介 WY(Java应用监控系统)是基于Java8制作而成的一款在线监控系统。 WY适用于监控所有Java应用,具有堆内存监控、方法区监控、GC监控、类加载监控、类编译监控与线程监控等,提供堆...
  • Java KTV点歌系统

    热门讨论 2014-07-22 13:52:16
    Java KTV点歌系统(源代码+数据库),强烈的推荐给大家24k
  • java获取和设置系统变量(环境变量)

    千次阅读 2019-10-22 17:16:11
    一、Java获取环境变量 Java 获取环境变量的方式很简单: System.getEnv()得到所有的环境变量 System.getEnv(key) 得到某个环境变量 Map map = System.getenv(); Iterator it = map.entrySet().iterator(); ...
  • Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与java程序有关。 System.getenv() 获取指定的环境变量的...
  • 1、下载Windows系统和应用程序监视工具Process Explorer https://download.sysinternals.com/files/ProcessExplorer.zip 2、打开ProcessExplorer,找到cpu占用高的java.exe,记下进程编号PID,比如当前是9520 3...
  • Java| 获取系统属性和环境变量

    千次阅读 2018-01-29 22:40:37
    系统属性(系统属性是Java获取和设置) - 1.通过虚拟机参数设置系统属性 - 2.Java中获取和设置系统属性 一.环境变量 注意: Linux下获取值是用$,多个路径分割是用:,Windows下获取值是用%变量名%,多个路径分割是...
  • Java图形界面开发—学生信息管理系统 完整源码

    千次下载 热门讨论 2017-02-28 21:36:13
    学生信息管理系统,使用Java开发。 1、登录界面可以进行登录操作。有俩种权限选择。分别跳转到不同的界面。 2、使用了事件监听、Java操作SQLserver数据库等知识。 3、图形化界面中使用了JTable等组件,将查询结果...
  • JAVA在线考试系统DEMO源码(毕业设计 J2EE)

    千次下载 热门讨论 2015-12-30 18:22:07
    JAVA在线考试系统DEMO源码(毕业设计 J2EE)。 可直接运行。做毕业设计、课程设计或者想研究下技术的可以下载学习。需要更多资源的可以关注我。
  • Java系统环境变量配置

    万次阅读 2017-08-01 11:29:34
    JDK下载官网链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 点击计算机-&gt;系统属性-&gt;高级系统设置-&gt;环境变量,设置系统变量。 (1)新建系统...
  • java中有很多方法可以取到系统时间,记一下最简单的那种//使用Calendar 获取当前日期和时间Calendar calendar = Calendar.getInstance(); // get current instance of the calendar//转换格式 使用format将这个...
  • JAVA微服务架构

    万次阅读 2022-03-23 16:41:44
    成熟的系统支持企业快速上线电商商城项目 软件架构 软件架构说明:java 微服务 安装教程 nginx、tomcat、redis、mq mysql、 oss 腾讯云短信、快递鸟、快递100 使用说明 B2C-单商家:商家管理中心 B2B2C多商家:商家...
  • java实现的签到系统

    热门讨论 2015-05-07 12:41:49
    java实现的简易签到系统,web版的,含数据库文件,可以直接运行

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,542,937
精华内容 1,417,174
关键字:

java系统

友情链接: latest.zip