精华内容
下载资源
问答
  • java类之间传递数据
    2021-10-25 20:28:00

    成员变量应该是private的,
    所以只能对外提供访问的方法!
    所以在class A 中要提供获取m的方法和修改m的方法。
    而class B 可以 创建 class 的对象,对象调用函数去访问数据!

    更多相关内容
  • java类之间数据传递

    千次阅读 2015-03-08 21:19:14
    虽然最开始学java的时候,就知道java类之间数据传递,可能当时也懂,不过可能忘了,  刚好,用到了这个,然后只为将一个数据连续传到后两个。  方法,通过构造函数,或者通过set方法。  构造函数:  ...

            虽然最开始学java的时候,就知道java类之间数据的传递,可能当时也懂,不过可能忘了,

            刚好,用到了这个,然后只为将一个数据连续传到后两个类。

            方法,通过构造函数,或者通过set方法。

            构造函数:

            代码不好演示,

            1、类A,B,C,目的,将类A中的数据传到类C

             2、现在B中创建一个类A的实例(用作句柄),然后在B的构造函数中将其“赋值”(不是初始化),构造函数中应该要有类A作为参数,尽量将赋值语句写到第一行。

            3、当类B在类A中要使用时,自然要传一个参数才能构造,此时传递“this”作为参数,就相当于将B中的那个A的实例赋值了,

            4,、由于C要在B中使用,同样的方法,将值又从B中传递到C中。

            5,、传递值,或者赋值一个句柄时,尽量写到前面,保证后面的语句调用其值时不会是null

            6、大功告成。


            

    展开全文
  • NULL 博文链接:https://wyp0523.iteye.com/blog/721591
  • java 实现数据库服务器之间数据传输
  • 实现跨线程传递数据方式: v1:子线程使用主线程的局部变量 这种当主线程和子线程不在一快儿时就不适用。可以使用JDK原生的InheritableThreadLocal。 v2:InheritableThreadLocal 说到...

    实现跨线程传递数据方式:

    v1:子线程使用主线程的局部变量

    这种当主线程和子线程不在一快儿时就不适用。可以使用JDK原生的InheritableThreadLocal。

     

    v2:InheritableThreadLocal

    说到InheritableThreadLocal,就不得不提到ThreadLocal。

    ThredLocal:使用ThreadLocalMap来维护当前线程和对应设置的值的关系。由于ThreadLocal是线程隔离的,所以无法直接使用ThreadLocal来进行数据跨线程的传递。由此产生了InheritableThreadLocal

    下面给出了InheritableThreadLocal在不同场景下跨线程传递数据的正确性测试。

    TheadLocal#set

    TheadLocal#get

    测试JAVA8的parallelStream,内部使用的ForkJoinPool。

    注意:子线程复用了主线程来执行任务。

    测试线程池ThreadPoolExecutor

    测试ForkJoinPool

    线程池中线程复用出现了问题!!!

    其实从ThreadLocal#get和#set中不难发现,当线程池中线程产生复用时,已经有该线程的Map映射关系,会直接获取。这就是跨线程传递值+使用线程池场景所产生的问题。当然这种情况在parallelStream和ForkJoinPool中也同样会发生。

    那该如何解决呢?

    方法一:自定义Runable

    添加类成员变量,用于存储线程变量在run()方法开头的位置设置线程变量。这样可以解决问题,但是需要业务代码到处改造,感知较差。

    方法二:在方法一的基础上,通过字节码增强技术,改写Runable实现类代码,实现办法一逻辑,实现业务无感知。

    阿里其实已经按照这种思想封装为了TransmittableThreadLocal。

    github地址:https://github.com/alibaba/transmittable-thread-local

    使用TransmittableThreadLocal

    v3:TransmittableThreadLocal#TTLRunable

    使用此种方式,还是会涉及到很多业务代码的改动。有没有侵入性更小的办法呢?使用TtlExecutors,从线程池着手实现增强。

    v4:TransmittableThreadLocal#TtlExecutors

    那如果还想实现的代码无侵入性修改,可以使用TtlTtlAgent。

    v5:TransmittableThreadLocal#TtlTtlAgent

    通过字节码增加技术,来实现无侵入式的方式来实现对ThreadLocal的增强。具体实现方式可以参考TransmittableThreadLocal的github官方文档:https://github.com/alibaba/transmittable-thread-local

    最后,来总结一下JAVA跨线程传递数据方式演进过程。

    JAVA跨线程传递数据方式演进过程

     

    展开全文
  • 多个类之间传递数据的方式

    千次阅读 2018-01-06 13:43:09
    前段时间碰见了一个问题,主线程...但还是觉得略显复杂,今天想了个稍微好点的方式,是对接口回调进行了稍微的封装处理,而且以后也可以在多个类之间进行数据传递。代码简单,可以随意修改。代码如下: import java

    前段时间碰见了一个问题,主线程开启一个子线程,子线程又开启一个子线程,然后数据处理完成之后需要传递回主线程,当时是使用层层回调把数据传递回来的,任务链很长,觉得很容易出问题,虽然可以使用开源框架解决,或者观察者模式,但还是觉得略显复杂,今天想了个稍微好点的方式,是对接口回调进行了稍微的封装处理,而且以后也可以在多个类之间进行数据传递。代码简单,可以随意修改。代码如下:

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * author:MYM
     * date:2017-1-6
     */
    public class CallBackUtils {
        private static CallBackUtils callBackUtils;
        private static List<MessageCallBack> messageCallBacks = new ArrayList<>();
        private Map<Object,MessageCallBack> objects = new HashMap<>();
        private CallBackUtils() {
        }
        public static CallBackUtils getInstance(){
            if (null != callBackUtils){
    
            }else {//采用DCL方式实现线程安全
                synchronized (CallBackUtils.class){
                    if (null == callBackUtils){
                        callBackUtils = new CallBackUtils();
                    }
                }
            }
            return callBackUtils;
        }
        /** 移除监听 */
        public void remove(Object o){
            if (objects.containsKey(o)){
                MessageCallBack messageCallBack = objects.get(o);
                if (messageCallBacks.contains(messageCallBack))
                    messageCallBacks.remove(messageCallBack);
            }
        }
    
        /**
         * 向所有回调发送消息
         * @param value
         */
        public void sendMessage(String value){
            for (MessageCallBack messageCallBack : messageCallBacks){
                messageCallBack.callBack(value);
            }
        }
    
        /**
         * 向指定类发送消息,假如这个类没有找到,或者没有绑定监听,则不发送消息
         * @param o 绑定监听的对象
         * @param value 发送内容
         */
        public void sendMessageSingle(Object o,String value){
            if (objects.containsKey(o)){
                MessageCallBack messageCallBack = objects.get(o);
                if (messageCallBacks.contains(messageCallBack))
                    messageCallBack.callBack(value);
            }
        }
    
        /**
         * 设置监听
         * @param o 主要用于取消绑定用的
         * @param messageCallBack
         */
        public void setListener(Object o,MessageCallBack messageCallBack){
            if (!messageCallBacks.contains(messageCallBack))
                messageCallBacks.add(messageCallBack);
            if (!objects.containsKey(o))
                objects.put(o,messageCallBack);
        }
        interface MessageCallBack{
            void callBack(String value);
        }
    }

    使用方式简单,这里就不做展示了

    展开全文
  • 在JNI与java之间传递数据

    千次阅读 2018-08-23 08:18:46
    传递String字符串 #MainActivity.java: JNI jni = new jni();//实例化JNI对象 jni.helloFromC(&amp;amp;quot;helloworld&amp;amp;quot;);//调用本地方法 #JNI.java: public class JNI{ static{...
  • Android开发之两个类之间数据传递

    千次阅读 2021-03-01 07:45:15
    1.在MyAPP中定义属性handlerpackage mark.zhang;import mark.zhang.MasterActivity.MyHandler;import android.app.Application;public class MyAPP extends Application {// 共享变量private MyHandler handler = ...
  • Java语言中方法之间数据传递的探讨 导语在面向对象的Java语言中方法是处理数据的基本模块方法之间数据传递是掌握编程方法的关键下面就由为大家介绍一下Java语言中方法之间数据传递的探讨欢迎大家阅读! 1问题的提出...
  • Java类之间数据传递3中方法。

    千次阅读 2015-07-30 10:12:27
    2.如果是类之间传递变量有两种方法,假如A调用B的一个属性,B的长像如下: class B {  public static String x ="nice"; public static void main(String []arg) { } } A可这样写 2.1 clas
  • 实现把一个Activity里面编辑框的字符串传送到其他Activity上显示的功能,可以判断输入框数值打开对应的Activity
  • Native 层与 java 之间数据传递MainActivitypackage com.a18459.myapplication;import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget....
  • SAP ABAP与JAVA之间通过RFC传递数据实例
  • Java类相互传值

    千次阅读 2020-04-01 17:11:53
    实现Java类类之间相互传值,首先java文件必须在package文件夹下 package references; public class A { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated ...
  • Java序列化与数据传输

    千次阅读 2021-03-06 16:31:59
    堆内存中的java对象数据,通过某种方式把该对象存储到磁盘文件中,或者传递给其他网络节点(网络传输)。 对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成...
  • java与c/c++之间数据交互—–jni点滴最近作一个TIemsten数据库的项目,用到了jni技术。...两者之间数据传递有这样几种情况:java和c之间基本数据类型的交互,java向c传递对象类型,c向java返回对象类型,c调用ja...
  • Java内部与外部类之间的参数传递

    万次阅读 2018-05-23 15:56:35
    转自 : http://wendal.net/404.html传入://匿名内部,只能访问final的本地变量及方法参数 public void addUser(final String name, String passwd, final String userType) { User user = null; if ("admin...
  • Java中使用Socket和ServerSocket/或者说使用TCP传输数据
  • Java实体类之间的相互转换

    千次阅读 2020-08-04 15:03:56
    在pom.xml配置文件中添加依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId>...创建第一个实体School public class School { pr
  • Java数据类型和参数传递(详解)

    千次阅读 2021-02-12 15:15:40
    Java提供的数据类型主要分为两大:基本数据类型和引用数据类型。Java中的基本数据类型名称大小取值范围byte型 (字节)8bit-128-127 (-2^7到2^7-1)short型 (短整型)16bit-2^15到2^15-1int型 (整形)32bit-2^31到2^31-...
  • JAVA如何在两个线程之间共享数据

    千次阅读 2020-08-03 15:55:34
    如何在两个线程之间共享数据 Java 里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性原子性。Java 内存模型(JMM)解决了可见性和有序性的问题,而锁解决了原子性的...
  • 客户端-服务器----Java-UDP-Sockets 一种 Java 程序,可通过 UDP 协议在服务器和客户端之间实现可靠的数据传输。 该应用程序具有定制的确认机制和完整性检查算法,以确保通过 UDP 的可靠数据传输数据安全。 客户端...
  • 1 java数据类型有两1.1 8种基本数据类型和引用数据类型基本数据类型有整数型 byte, short, int,long,字符型 char,浮点型 float, double,布尔类型 boolean,引用数据存放的是地址,在进行构造函数的初始化过程中,要...
  • 在Activity间传递数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据传递方法。 1、通过 Intent 传递 我们在进行 Activity 跳转时,是要有 Intent,此时 ...
  • Java两台电脑之间传输文件》

    千次阅读 2021-08-18 14:40:57
    讲解一下两台电脑之间通过java代码传输视频文件(在有网络的情况下),我通过TCP协议来完成操作 ,TCP协议要明确哪一台电脑是服务端,哪一台是客户端,服务端负责发送数据,客户端负责接收数据。 一.我首先说...
  • 线程间的数据传递主要分为向线程传递...在调用start方法之前通过线程的构造方法将数据传入线程。 public class MyThread extends Thread { private String name; public MyThread1(String name) { this.nam...
  • java数据安全

    千次阅读 2021-10-24 10:08:42
    机密性:传输内容非明文,即使数据被外界截获,也不能被他人解释或破解 完整性:传输过程中内容不能够被篡改,若信息被篡改或不完整,接收方能够得知 身份验证(抗抵赖性):接收方能够验证数据的实际发送方,确保...
  • 但在多线程的异步开发模式下,数据传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据
  • Java实现文件传输

    千次阅读 2021-03-11 23:10:26
    服务端发送,客户端接收。服务端持续运行,一旦有客户端连接就会向客户端发送文件 import java.io.DataOutputStream;... * 文件传输server(由服务器发送) * * @author qxt * @date 2021/3/8 17:38 */ publ
  • java与c/c++之间数据交互

    千次阅读 2018-10-12 15:11:48
    java与c/c++之间数据交互有这样几种情况:java和c/c++之间基本数据类型的交互,java向c/c++传递对象类型,c/c++向java返回对象类型,c/c++调用java类。 1、java和c/c++之间基本数据类型的交互 对于基本数据类型,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 586,564
精华内容 234,625
关键字:

java类之间传递数据